2011-02-08 3 views
2

J'ai récemment mis à niveau un projet DjangoCMS de la version 2.1.0beta3 vers la version 2.1.0 final, et j'ai commencé à recevoir des erreurs Unicode lors de l'édition de la page. Il y avait un grand volume de contenu de production qui a été migré vers l'avant avec South. J'obtiens l'erreur pendant que (en utilisant TinyMCE) j'essaie d'insérer un autre plugin, tel qu'une image, dans un plugin de texte ou quand je tente d'ajouter un plugin à un espace réservé.Erreurs Unicode après la mise à niveau vers la version 2.1.0 finale

URL:
/admin/CMS/page/188/edit-plugin/673/edit-plugin/676/

Stack Trace:

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'>) 

Si je tente à plusieurs reprises pour créer la plugin, l'ID (676 ici) incrémente, donc il semble que l'erreur se produit lorsque le formulaire est rendu. Cette affecte les plugins de lien, d'image et d'accroche, mais pas les plugins de texte, de fichier ou .

J'apprécierais toute aide pour isoler la cause ici.

Merci,
Michael

Répondre

0

Il s'est avéré que c'était un problème de migration de données. La solution ultime consistait à forcer le codage utf8 dans les tables mysql pertinentes en utilisant des commandes telles que:

alter table cms_page convert to character set utf8; 
0

Bit d'une réponse tardive, mais j'ai eu quelques problèmes avec unicode et résolu avec defining source code encodings voir aussi http://evanjones.ca/python-utf8.html

Je mets

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

en haut des fichiers incriminés et tout a été trié.

+0

Merci. Cependant, le problème était complètement dans le code Django ou DjangoCMS, puisque la page particulière était dans l'admin. J'ai fini par résoudre le problème en fixant les encodages dans la base de données elle-même. –

Questions connexes