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