3585: Post a comment containing Chinese charaters to a diff in reviewboard will faill !
- SetupIssue
- Review Board
wdao****@gmai***** (Google Code) (Is this you? Claim this profile.) | |
Sept. 28, 2014 |
When I comment using the statement below to a diff: "发送中文不行Cannot send any chinese characters." I will get an error from the httpd error_log,and please see it below: [Sun Sep 28 09:30:54 2014] [error] ERROR:root:Exception thrown for user dvadva1001 at http://192.168.10.200:8020/api/review-requests/22/reviews/10/diff-comments/ [Sun Sep 28 09:30:54 2014] [error] [Sun Sep 28 09:30:54 2014] [error] (1366, "Incorrect string value: '\\\\xE5\\\\x8F\\\\x91\\\\xE9\\\\x80\\\\x81...' for column 'text' at row 1") [Sun Sep 28 09:30:54 2014] [error] Traceback (most recent call last): [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/core/handlers/base.py", line 112, in get_response [Sun Sep 28 09:30:54 2014] [error] response = wrapped_callback(request, *callback_args, **callback_kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/views/decorators/cache.py", line 52, in _wrapped_view_func [Sun Sep 28 09:30:54 2014] [error] response = view_func(request, *args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/views/decorators/vary.py", line 19, in inner_func [Sun Sep 28 09:30:54 2014] [error] response = func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", line 494, in __call__ [Sun Sep 28 09:30:54 2014] [error] request, method, view, api_format=api_format, *args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", line 565, in call_method_view [Sun Sep 28 09:30:54 2014] [error] return view(request, *args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", line 747, in post [Sun Sep 28 09:30:54 2014] [error] return self.create(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/decorators.py", line 110, in _check [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 138, in _checklogin [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 287, in _validate [Sun Sep 28 09:30:54 2014] [error] return view_func(*args, **new_kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/resources/review_diff_comment.py", line 127, in create [Sun Sep 28 09:30:54 2014] [error] **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/resources/base_comment.py", line 157, in create_comment [Sun Sep 28 09:30:54 2014] [error] new_comment.save() [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/reviews/models/base_comment.py", line 133, in save [Sun Sep 28 09:30:54 2014] [error] super(BaseComment, self).save() [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 545, in save [Sun Sep 28 09:30:54 2014] [error] force_update=force_update, update_fields=update_fields) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 573, in save_base [Sun Sep 28 09:30:54 2014] [error] updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 654, in _save_table [Sun Sep 28 09:30:54 2014] [error] result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 687, in _do_insert [Sun Sep 28 09:30:54 2014] [error] using=using, raw=raw) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/manager.py", line 232, in _insert [Sun Sep 28 09:30:54 2014] [error] return insert_query(self.model, objs, fields, **kwargs) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/query.py", line 1514, in insert_query [Sun Sep 28 09:30:54 2014] [error] return query.get_compiler(using=using).execute_sql(return_id) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/sql/compiler.py", line 903, in execute_sql [Sun Sep 28 09:30:54 2014] [error] cursor.execute(sql, params) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/backends/util.py", line 53, in execute [Sun Sep 28 09:30:54 2014] [error] return self.cursor.execute(sql, params) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/utils.py", line 99, in __exit__ [Sun Sep 28 09:30:54 2014] [error] six.reraise(dj_exc_type, dj_exc_value, traceback) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/backends/util.py", line 53, in execute [Sun Sep 28 09:30:54 2014] [error] return self.cursor.execute(sql, params) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/backends/mysql/base.py", line 124, in execute [Sun Sep 28 09:30:54 2014] [error] return self.cursor.execute(query, args) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/cursors.py", line 205, in execute [Sun Sep 28 09:30:54 2014] [error] self.errorhandler(self, exc, value) [Sun Sep 28 09:30:54 2014] [error] File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/connections.py", line 36, in defaulterrorhandler [Sun Sep 28 09:30:54 2014] [error] raise errorclass, errorvalue [Sun Sep 28 09:30:54 2014] [error] OperationalError: (1366, "Incorrect string value: '\\\\xE5\\\\x8F\\\\x91\\\\xE9\\\\x80\\\\x81...' for column 'text' at row 1")
By default, MySQL does not create databases using the UTF-8 encoding. You'll have to update your database to use UTF-8.
-
+ SetupIssue
I've change the reviewboard database and all its tables encoding into utf-8 manually. but I still get the same error: [Mon Sep 29 03:40:11 2014] [error] ERROR:root:Exception thrown for user dvadva1000 at http://192.168.10.200:8020/api/review-requests/22/reviews/14/diff-comments/ [Mon Sep 29 03:40:11 2014] [error] [Mon Sep 29 03:40:11 2014] [error] (1366, "Incorrect string value: '\\\\xE5\\\\x9C\\\\xA8\\\\xE5\\\\xA4\\\\xA7...' for column 'text' at row 1") [Mon Sep 29 03:40:11 2014] [error] Traceback (most recent call last): [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/core/handlers/base.py", line 112, in get_response [Mon Sep 29 03:40:11 2014] [error] response = wrapped_callback(request, *callback_args, **callback_kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/views/decorators/cache.py", line 52, in _wrapped_view_func [Mon Sep 29 03:40:11 2014] [error] response = view_func(request, *args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/views/decorators/vary.py", line 19, in inner_func [Mon Sep 29 03:40:11 2014] [error] response = func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", line 494, in __call__ [Mon Sep 29 03:40:11 2014] [error] request, method, view, api_format=api_format, *args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", line 565, in call_method_view [Mon Sep 29 03:40:11 2014] [error] return view(request, *args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/resources.py", line 747, in post [Mon Sep 29 03:40:11 2014] [error] return self.create(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/decorators.py", line 110, in _check [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 138, in _checklogin [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 117, in _call [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Djblets-0.8.9-py2.7.egg/djblets/webapi/decorators.py", line 287, in _validate [Mon Sep 29 03:40:11 2014] [error] return view_func(*args, **new_kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/resources/review_diff_comment.py", line 127, in create [Mon Sep 29 03:40:11 2014] [error] **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/webapi/resources/base_comment.py", line 157, in create_comment [Mon Sep 29 03:40:11 2014] [error] new_comment.save() [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/ReviewBoard-2.0.6-py2.7.egg/reviewboard/reviews/models/base_comment.py", line 133, in save [Mon Sep 29 03:40:11 2014] [error] super(BaseComment, self).save() [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 545, in save [Mon Sep 29 03:40:11 2014] [error] force_update=force_update, update_fields=update_fields) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 573, in save_base [Mon Sep 29 03:40:11 2014] [error] updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 654, in _save_table [Mon Sep 29 03:40:11 2014] [error] result = self._do_insert(cls._base_manager, using, fields, update_pk, raw) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/base.py", line 687, in _do_insert [Mon Sep 29 03:40:11 2014] [error] using=using, raw=raw) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/manager.py", line 232, in _insert [Mon Sep 29 03:40:11 2014] [error] return insert_query(self.model, objs, fields, **kwargs) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/query.py", line 1514, in insert_query [Mon Sep 29 03:40:11 2014] [error] return query.get_compiler(using=using).execute_sql(return_id) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/models/sql/compiler.py", line 903, in execute_sql [Mon Sep 29 03:40:11 2014] [error] cursor.execute(sql, params) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/backends/util.py", line 53, in execute [Mon Sep 29 03:40:11 2014] [error] return self.cursor.execute(sql, params) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/utils.py", line 99, in __exit__ [Mon Sep 29 03:40:11 2014] [error] six.reraise(dj_exc_type, dj_exc_value, traceback) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/backends/util.py", line 53, in execute [Mon Sep 29 03:40:11 2014] [error] return self.cursor.execute(sql, params) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/Django-1.6.7-py2.7.egg/django/db/backends/mysql/base.py", line 124, in execute [Mon Sep 29 03:40:11 2014] [error] return self.cursor.execute(query, args) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/cursors.py", line 205, in execute [Mon Sep 29 03:40:11 2014] [error] self.errorhandler(self, exc, value) [Mon Sep 29 03:40:11 2014] [error] File "/usr/local/lib/python2.7/site-packages/MySQL_python-1.2.5-py2.7-linux-x86_64.egg/MySQLdb/connections.py", line 36, in defaulterrorhandler [Mon Sep 29 03:40:11 2014] [error] raise errorclass, errorvalue [Mon Sep 29 03:40:11 2014] [error] OperationalError: (1366, "Incorrect string value: '\\\\xE5\\\\x9C\\\\xA8\\\\xE5\\\\xA4\\\\xA7...' for column 'text' at row 1")
There's no problem since i changed mysql database default character encoding into utf-8.