2010-11-16 30 views
1

Django est livré avec un support Unicode prêt à l'emploi et supporte par défaut utf-8. Dites que vous avez développé, débogué et testé avec succès un site avec un tas d'applications Django dans utf-8. Quelles sont les étapes nécessaires pour une migration presque indolore vers un encodage différent, par exemple latin-1? Je souhaite qu'il aurait juste besoin de réglage DEFAULT_CHARSET = 'latin-1' et de changer l'encodage de la base de données, mais je doute en quelque sorte que ce soit aussi simple. Par souci de discussion, vous pouvez ignorer la migration de toutes les données utf-8 déjà stockées dans la base de données; Je suis surtout intéressé par les vérifications et changements requis dans le code Django ainsi que dans la configuration de la base de données et du serveur Web.Instructions pour changer l'encodage par défaut d'un site Django

Répondre

2

Vous ne devriez pas avoir besoin d'apporter des changements significatifs à votre base de code Django. Même si votre jeu de caractères de travail sera UTF-8, les données seront stockées dans votre base de données en utilisant l'encodage choisi de la base de données.

Avez-vous vraiment une VRAIE raison de passer de l'UTF-8 au latin-1? Si vous êtes préoccupé par le codage de caractères de la sortie, vous voudrez probablement faire face à cela en utilisant le paramètre référencé, plutôt qu'au niveau de la base de données où vous risquez de perdre des données.

Il y a plus d'informations à ce sujet ici:

http://docs.djangoproject.com/en/dev/ref/unicode/