2011-02-08 13 views
2

最近DjangoCMSプロジェクトを2.1.0beta3から2.1.0 finalにアップグレードしました。ページ編集中にUnicodeエラーが発生しました。 大量の生産コンテンツが、南に転送された に移行しました。 (TinyMCEを使用して) 画像のような別のプラグインをテキストプラグインに挿入しようとしたとき、または プラグインをプレースホルダに追加しようとするとエラーが表示されます。最終的に2.1.0にアップグレードした後のUnicodeエラー

URL:
/管理/ CMS /ページ/ 188 /編集プラグイン/ 673 /編集プラグイン/ 676/

スタックトレース:

File "/srv/wsphp/wspython/virtualenv/iaffe-prod/lib/python2.6/site-packages/django/template/__init__.py", line 849, in render 
    return _render_value_in_context(output, context) 

File "/srv/wsphp/wspython/virtualenv/iaffe-prod/lib/python2.6/site-packages/django/template/__init__.py", line 829, in _render_value_in_context 
    value = force_unicode(value) 

File "/srv/wsphp/wspython/virtualenv/iaffe-prod/lib/python2.6/site-packages/django/utils/encoding.py", line 88, in force_unicode 
    raise DjangoUnicodeDecodeError(s, *e.args) 

DjangoUnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 12: ordinal not in range(128). You passed in <django.forms.forms.BoundField object at 0xb73cedec> (<class 'django.forms.forms.BoundField'>) 

私は繰り返し作成しようプラグインの場合、ID(ここでは676)は、 をインクリメントするので、フォームがレンダリングされるときにエラーが発生するように見えます。この は、リンク、画像、ティーザープラグインには影響しますが、テキスト、ファイル、または スニペットプラグインには影響しません。

私はここで原因を特定するのに助けていただければ幸いです。

おかげで、後半の答えの
マイケル

答えて

0

これはデータ移行の問題であることが判明しました。究極の解決策は、関連するmysqlテーブルで次のようなコマンドを使用してutf8エンコーディングを強制することでした:

alter table cms_page convert to character set utf8; 
0

ビットが、私は私が先頭に

# -*- coding: utf-8 -*- 

を入れUnicodeを使用したいくつかの問題を抱えていたとhttp://evanjones.ca/python-utf8.html

をも参照defining source code encodingsで解決問題のファイルのすべてがソートされました。

+0

ありがとうございます。しかし、この問題はDjangoやDjangoCMSコードに完全に含まれていました。特定のページが管理者にあったからです。私は、データベース自体にエンコーディングを固定することで問題を解決しました。 –

関連する問題