What version are you running?
2.0.8
What steps will reproduce the problem?
1. Open reviewboard
2. Go to "View diff" on some review
3. Add comment with national characters, like "łóćąężźćńę"
What is the expected output? What do you see instead?
Expected to add comment.
I see message: Cannot save comment: HTTP 500 INTERNAL SERVER ERROR
What operating system are you using? What browser?
Server is on Linux. I use Chrome on Windows
Please provide any additional information below.
Log:
2014-10-09 07:35:34,003 - ERROR - - Exception thrown for user xxxxxx at http://xxxxxxxx/api/review-requests/4584/reviews/14455/diff-comments/
Incorrect string value: '\xC5\x82\xC3\xB3\xC4\x87...' for column 'text' at row 1
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/views/decorators/cache.py", line 52, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/views/decorators/vary.py", line 19, in inner_func
response = func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/resources.py", line 495, in __call__
request, method, view, api_format=api_format, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/resources.py", line 566, in call_method_view
return view(request, *args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/resources.py", line 748, in post
return self.create(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.8-py2.6.egg/reviewboard/webapi/decorators.py", line 110, in _check
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/decorators.py", line 138, in _checklogin
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/decorators.py", line 117, in _call
return view_func(*args, **kwargs)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/webapi/decorators.py", line 287, in _validate
return view_func(*args, **new_kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.8-py2.6.egg/reviewboard/webapi/resources/review_diff_comment.py", line 127, in create
**kwargs)
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.8-py2.6.egg/reviewboard/webapi/resources/base_comment.py", line 157, in create_comment
new_comment.save()
File "/usr/lib/python2.6/site-packages/ReviewBoard-2.0.8-py2.6.egg/reviewboard/reviews/models/base_comment.py", line 133, in save
super(BaseComment, self).save()
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/base.py", line 545, in save
force_update=force_update, update_fields=update_fields)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/base.py", line 573, in save_base
updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/base.py", line 654, in _save_table
result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/base.py", line 687, in _do_insert
using=using, raw=raw)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/manager.py", line 232, in _insert
return insert_query(self.model, objs, fields, **kwargs)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/query.py", line 1514, in insert_query
return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/models/sql/compiler.py", line 903, in execute_sql
cursor.execute(sql, params)
File "/usr/lib/python2.6/site-packages/Djblets-0.8.11-py2.6.egg/djblets/log/middleware.py", line 52, in execute
return self.cursor.execute(sql, params)
File "/usr/lib/python2.6/site-packages/Django-1.6.7-py2.6.egg/django/db/backends/mysql/base.py", line 124, in execute
return self.cursor.execute(query, args)
File "/usr/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/MySQLdb/cursors.py", line 176, in execute
if not self._defer_warnings: self._warning_check()
File "/usr/lib/python2.6/site-packages/MySQL_python-1.2.3-py2.6-linux-x86_64.egg/MySQLdb/cursors.py", line 92, in _warning_check
warn(w[-1], self.Warning, 3)
Warning: Incorrect string value: '\xC5\x82\xC3\xB3\xC4\x87...' for column 'text' at row 1