mysql character set exception

问题:

插入数据时,报了这样一个错误:“_mysql_exceptions.Warning: Incorrect string value: ‘\xE6\xB5\x81\xE8\xA1\x8C…’ for column ‘name’ at row 1”。

 我使用了中文的数据,看起来就是一个字符集不兼容的错误;Django默认使用UTF-8,而mysqld那边配置是默认使用了latin1 – default collation 。

解决办法如下:

(1)设置my.cnf

vim /etc/mysql/my.cnf

[mysqld]

character_set_server=utf8 

 

service mysql restart

 

(2)创建数据库指定编码

CREATE DATABASE football DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

 

(3)shell文件方式

mysql -uroot -p123456 <<EOF
drop database football;
CREATE DATABASE football DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
EOF