Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
告诉MySQL连接在Django中使用UTF-8_Mysql_Django_Unicode_Utf 8 - Fatal编程技术网

告诉MySQL连接在Django中使用UTF-8

告诉MySQL连接在Django中使用UTF-8,mysql,django,unicode,utf-8,Mysql,Django,Unicode,Utf 8,我已经使用UTF8编码将一些数据上传到MySQL(osx10.6为5.5.15)数据库,不过出于某种原因,我在加载它时不得不将其编码指定为latin1 我认为这一部分是好的,因为当我向OUTFILE写入时,我的unicode“nu”字符在终端和Vim中显示正常 然而,当我在MySQL会话中查看这些字段时,当我试图从Django admin编辑字段时,我会发现字符被弄乱(拉丁文1?) 所以,我的问题是:如何告诉MySQL客户机和(特别是)Django以UTF-8的方式读取我的数据库 在命令行中,我

我已经使用UTF8编码将一些数据上传到MySQL(osx10.6为5.5.15)数据库,不过出于某种原因,我在加载它时不得不将其编码指定为latin1

我认为这一部分是好的,因为当我向OUTFILE写入时,我的unicode“nu”字符在终端和Vim中显示正常

然而,当我在MySQL会话中查看这些字段时,当我试图从Django admin编辑字段时,我会发现字符被弄乱(拉丁文1?)

所以,我的问题是:如何告诉MySQL客户机和(特别是)Django以UTF-8的方式读取我的数据库

在命令行中,我尝试了

--default_character_set=utf8 
而且

'SET NAMES UTF8;'
在MySQL提示符下,但它们不起作用

当我查看像“char%”这样的变量时,除了character_set_server(拉丁字母1)之外,它们都被设置为utf8。如果我将其设置为utf8。。。。那也不行

如果有人能在这里给我一些建议,特别是关于如何配置Django以正确地与我的数据库通信,我将不胜感激


谢谢

添加您的
.cnf

[mysqld]
character-set-server = utf8
collation-server     = utf8_general_ci
skip-character-set-client-handshake

我在/etc/my.cnf中有这个(使用utf\u unicode\u ci作为排序规则\u服务器),但它似乎不起作用(尽管它确实将字符\u set\u服务器设置为utf8)。我很困惑…你是如何安装MySQL的?我怀疑它使用了另一个
/etc/my.cnf
配置文件。加载它时必须指定latin1是什么意思?通常,您应该在创建数据库时使用以下命令指定UTF-8:“创建数据库dbname字符集utf8 COLLATE utf8_general_ci;”数据库本身是UTF-8,collation UTF_unicode_ci,但是如果我将数据本地填充加载到表字符集utf8中,我会得到问号,并且根据互联网上其他地方的各种帖子,如果我指定了(不正确的)‘字符集1’,它似乎只能以正确的编码上传。非常混乱。