Django mysql 阿拉伯语编码
我有一个带有 mysql 数据库的 django 应用程序.我们正在尝试推出该网站的阿拉伯语版本.目前的语言是英语.出于某种原因,当我通过管理面板用阿拉伯语写一些东西并单击保存时,它显示 ????而不是我写的阿拉伯语单词.我不知道如何解决它.
I've a django app with a mysql database. We are trying to launch the Arabic version of the website. The current language is English. For some reason when I write something in Arabic through the admin panel and click save, it shows ???? instead of the Arabic word i wrote. I've no idea how to fix it.
我按照这个 post 并添加了 #-*- coding: utf-8 -*- 到我的 admin.py、models.py 和 views.py 文件.没用
I followed this post and added #-*- coding: utf-8 -*- to my admin.py, models.py and views.py files. It didn't work
我还将这些添加到 my.conf mysql 文件中以更改字符集.它也没有用.
I also added these to my.conf mysql file to change the character set. It didn't work either.
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='set collation_connection = utf8_unicode_ci;'
推荐答案
可能发生的事情:
- 你有 utf8 编码的数据(好)
SET NAMES latin1有效(默认,但错误)- 列被声明为
CHARACTER SET latin1(默认,但错误)
- you had utf8-encoded data (good)
SET NAMES latin1was in effect (default, but wrong)- the column was declared
CHARACTER SET latin1(default, but wrong)
请提供SHOW CREATE TABLE,以便我们可以制定ALTER来修复列.
Please provide SHOW CREATE TABLE so we can formulate an ALTER to fix the columns.
Django 需要 client_encoding: 'UTF8';抱歉,我不知道去哪里了.
Django needs client_encoding: 'UTF8'; sorry, I don't know where that goes.
相关文章