我有一个用 Django 编写的项目。所有应该存储一些字符串的字段都应该是 UTF-8,但是,当我运行时
manage.py syncdb
所有相应的列都是使用 cp1252 字符集创建的(从哪里得到的——我不知道),我必须手动更新每一列...
有没有办法告诉 Django 首先用 UTF-8 编码创建所有这些列?
顺便说一句,我使用 MySQL。
最佳答案
Django 没有在 CREATE TABLE
语句中指定字符集和排序规则。一切都由数据库字符集决定。在运行 syncdb
之前执行 ALTER DATABASE ... CHARACTER SET utf8 COLLATE utf8_general_ci
应该会有所帮助。
对于连接,Django 会自动发出 SET NAMES utf8
,因此您无需担心默认的连接字符集设置。
关于python - 如何在 django 中为表的 char 列设置编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1198486/