我已经使用UTF8编码将一些数据上传到MySQL(5.5.15 for osx10.6)数据库,但由于某种原因,我必须在我加载它时将其编码指定为latin1。
我认为这部分很好,因为当我写一个OUTFILE时,我的unicode'nu'字符在终端和Vim中出现了。
但是,当我在MySQL会话中查看它们时,当我尝试编辑Django admin中的字段时,我会遇到损坏的字符(latin1?)。
所以,我的问题是:如何告诉MySQL客户端和(特别是)Django将我的数据库读取为UTF-8,它的方式是什么?
在命令行,我试过
--default_character_set=utf8
以及
'SET NAMES UTF8;'
在MySQL提示符下,但它们不起作用。
当我看到VARIABLES LIKE'char%'时,除了character_set_server(latin1)之外,它们都被设置为utf8。如果我把它设置为utf8 ....那也不起作用。
如果有人能在这里给我一些指导,尤其是关于如何配置Django以正确地与我的数据库通信,我将不胜感激。
谢谢!
答案 0 :(得分:2)
添加.cnf
:
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
skip-character-set-client-handshake