【发布时间】:2017-11-13 17:35:23
【问题描述】:
我正在尝试将表情符号插入到我的 mysql 表中的某个文件中。 我运行了 alter 命令并将排序规则更改为 "utf8mb4_general_ci"
ALTER TABLE XYZ MODIFY description VARCHAR(250) CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci;
上述查询后的表详情:
+-------------+--------------+---------------+--------------------+
| Column | Type | Character Set | Collation |
+-------------+--------------+---------------+--------------------+
| description | varchar(250) | utf8mb4 | utf8mb4_general_ci |
+-------------+--------------+---------------+--------------------+
在此之后,我运行查询以使用表情符号更新 description 列,每次我在查询下方运行时,表情符号都会被替换为“?”。
update XYZ set description='a test with : ????????' where id = 1;
但是,当我从相同 id 的选择查询中打印结果时,它会显示''?'代替表情符号。结果是:
"a test with : ??"
对模型文件进行了必要的更改。 请接受我没有说清楚的道歉,我们将不胜感激。
【问题讨论】:
-
您是否尝试在 django 数据库配置中添加 'OPTIONS': {'charset': 'utf8mb4'} 以及用户名和密码?
-
是的,我也这样做了。
-
您是否尝试更改 /etc/mysql/my.cnf 选项?
-
不是真的,我应该在那里改变什么?
-
也尝试更改 my.cnf 文件,但没有用。
标签: mysql django utf-8 utf8mb4