0

我正在为我的 api 使用djangosweetpie。数据库是MySQL

经过几天的摆弄,我设法使用 utf8mb4 字符集将表情符号图标存储在数据库中。

当直接从控制台(在 Mac 上)查询 db 时,我看到表情符号很好,但是当从 api 中提取它们时(例如使用浏览器),json 显示问号。这让我相信问题不在于数据库,而在于 django/tastypie 数据库连接。

我该怎么做?

4

2 回答 2

1

解决方案在 DJango 设置中:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'OPTIONS': {'charset': 'utf8mb4'},
        (...)
于 2013-03-05T21:22:32.900 回答
0

如果您将 JSON 转储保存到文本文件并使用 UTF8 文本编辑器打开它会怎样?表情符号会重新出现吗?

我怀疑,当在浏览器中显示 JSON 时,浏览器会退回到 Latin-1 编码,从而以问号结束。您的浏览器中可能有一个设置来设置编码。

检查来自您的服务器的“Content-Type”标头。它说application/json; encoding=utf-8吗?

于 2013-03-03T10:12:44.867 回答