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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步