我们在 dos 命令行操作中文时,会报错
insert into user(username,password) values(‘张三’,’123’); ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'username' at row 1
原因:因为 mysql 的客户端编码的问题我们的是 utf8,而系统的 cmd 窗口编码是 gbk
解决方案(临时解决方案):修改 mysql 客户端编码。
show variables like 'character%'; 查看所有 mysql 的编码
在图中与客户端有关的编码设置:
client connetion result 和客户端相关
database server system 和服务器端相关
将客户端编码修改为 gbk.
set character_set_results=gbk; / set names gbk;
以上操作,只针对当前窗口有效果,如果关闭了服务器便失效。如果想要永久修改,通过以下方式:
在 mysql 安装目录下有 my.ini文件
default-character-set=gbk 客户端编码设置 character-set-server=utf8 服务器端编码设置
注意:修改完成配置文件,重启服务