问题及解决方法
报错信息
遇到过给数据库添加记录时的报错信息:
[HY000][1366] Incorrect string value: '/xE5/xB0/x8F/xE8/x8A/xB3' for column 'Name' at row 1
问题是出在中文数据编码上。
出现问题时的解决方法:
- 显示表的字符集:
show create table table_name;
- 表字符集,修改为utf8
alter table table_name default character set utf8;
- 指定字段字符集,修改为utf8
alter table table_name change c1 c1 varchar(50) character set utf8;
总结回顾
记得当初学习MySQL时,在实验中,时时做的是设置utf8
。
中文编码问题的预防步骤
-
启动MySQL,输入密码连接到数据库服务器实例后
-
需要用到中文字符,所以设置客户端的字符集为gbk:
charset gbk;
- 检查服务器端的字符编码系统是否支持中文
show variables like '%char%';
结果Value列里不能出现latin1
。
- 修改为utf8
- 一种方法是:先修改配置文件my.ini ,再重启MySQL服务来解决
(见mysql实验一) - 一种方法是:用set命令将相应的字符集进行临时配置,如
set Variable_name=utf8;
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/274266.html