数据乱码问题

本文记录MySQL学习过程中遇到的数据乱码问题~

在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的客户端编码的问题。我们的是utf-8,而系统的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 服务器端编码设置

注意:修改完成配置文件,重启服务

标签: none