~ SQL 语句 — DOS 操作数据乱码问题
我们在 dos 命令行操作中文时,会报错:
insert into category(cid,cname) values(‘c010’,’中文’); ERROR 1366 (HY000): Incorrect string value: '\xB7\xFE\xD7\xB0' for column 'cname' at row 1
解决方案一:在cmd命令窗口中输入命令,此操作当前窗口有效,为临时方案。
set names gbk;
解决方案二:安装目录下修改my.ini文件,重启服务所有地方生效。[ 不建议 ]
错误原因:mysql 的客户端设置编码是 utf8,而系统的 cmd 窗口编码是 gbk。
[1] 查看 MySQL 内部设置的编码
show variables like 'character%'; // 查看所有mysql的编码
[2] 修改 client、connection、results 的编码一致(GBK编码)
client connetion result 和客户端保持一致,都为 GBK
#方式1:单独设置 set character_set_client=gbk; set character_set_connection=gbk; set character_set_results=gbk; #方式2:快捷设置 set names gbk;

