我正在为我的api使用 django 和 tastypie 。 db是 MySQL 。
经过几天的摆弄,我设法使用utf8mb4字符集在数据库中存储表情符号图标。
直接从控制台(在Mac上)查询数据库时,从api中提取时,我看到表情符号很好, 但 (例如使用浏览器) ),json显示问号。 这让我相信问题不在于数据库,而在于django / tastypie数据库连接。
我该怎么做?
答案 0 :(得分:1)
解决方案是在DJango设置中:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'OPTIONS': {'charset': 'utf8mb4'},
(...)
答案 1 :(得分:0)
如果将JSON转储保存到文本文件并使用UTF8文本编辑器打开它会怎么样?表情符号会重新出现吗?
我怀疑,当在浏览器中显示JSON时,浏览器会回退到Latin-1编码,最终会出现问号。您的浏览器中可能有一个设置来设置编码。
检查来自服务器的“Content-Type”标头。它是否说application/json; encoding=utf-8
?