ubuntu修改mysql字符集
1、问题描述
我在用varchar创建一个字段之后,输入中文就出现如下报错:
ERROR 1366 (HY000): Incorrect string value: '\xE5\x8C\x97\xE4\xBA\xAC...' for column '名称' at row 1
2、修改方案
1、首先修改自己的配置文件
1)修改[mysqld]
打开/etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]后面追加character-set-server=utf8
2)修改[client]
打开/etc/mysql/debian.cnf
在[client]后面追加default-character-set=utf8
3)修改[mysql]
打开/etc/mysql/debian.cnf
在[mysql]追加default-character-set=utf8
2、查看字符集
进入数据库查看字符集会显示如上,但是进入某个数据库的时候再次查看会这样
KY库的字符集又变成了Latin1,是因为我之前设置的时候没有修改数据库的字符集所以默认就是这个,所以就只好自己在修改一下,输入如下命令即可。
alter database KY character set utf-8;
注: 如果还有问题就可能是表的编码还是没修改过来那么就改一下表的编码
alter table 客户信息 default character set utf8;
然后字段的编码也要修改
alter table 客户信息 change 姓名 姓名 varchar(20) character set utf8;
这些所有的操作都是因为没有当初没有配置好文件已经创建表了,所以不得不修改一下字符集,如果不修改的话就直接向上面一样修改一下配置文件就行。