Django提供开箱即用的unicode支持,默认支持utf-8。假设您已经使用utf-8中的一堆Django应用程序成功开发,调试和测试了一个站点。对于一种大多数无痛迁移到不同编码需要哪些步骤,比如latin-1?我希望它只需要设置DEFAULT_CHARSET = 'latin-1'
并更改数据库的编码,但我怀疑它是那么简单。
为了便于讨论,您可以忽略任何已存储的utf-8数据在数据库中的迁移;我最感兴趣的是Django代码以及数据库和Web服务器配置中所需的检查和更改。
答案 0 :(得分:2)
您不需要对Django代码库进行重大更改。即使您的工作字符集是UTF-8,数据也将使用数据库选择的编码存储在您的数据库中。
从UTF-8到拉丁语1,你真的有一个非常好的理由吗?
如果您担心输出的字符编码,您可能希望使用引用的设置来处理它,而不是在可能丢失数据的数据库级别。
有关于此的更多信息: