python - 如何在 django 中为表的 char 列设置编码?

标签 python mysql django

我有一个用 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/

相关文章:

python - 关系数据库模型中的Django POST方法

Django 通用关系建模

django - 将 json 模型字段与 django graphene 一起使用

python - PyDev 交互式控制台未启动

python - 如何使用 tf.estimator.DNNClassifier(Scikit Flow?)

python - PyQt6在QSlider的paintEvent中设置自定义矩形

mysql - 按两列对 MySQL 表排序

mysql - DBUnit 如何设置属性来测试在 Docker 容器中运行的数据库

mysql - 添加到长而复杂的查询

python - 速度静态方法与类方法