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