在MySQL客户端进行查询时,若查询结果为乱码,一般是MySQL中的字符编码与文件的字符编码不一致导致的。CentOS的MySQL数据库默认字符集设置是在/etc/my.cnf文件中。根据以下语句可将MySQL中的默认字符集编码设置为utf8。
[mysqld]
character-set-server=utf8
init_connect = 'SET NAMES utf8'
collation-server=utf8_general_ci
[client]
default-character-set=utf8
有可能你进行了上述设置,但还是遇到如下错误:
ERROR 1366 (HY000): Incorrect string value
有可能是你的数据库字符集已经更改了,但是表的默认字符集还没更改,这时候可以直接使用如下命令直接更改表的默认字符集就可以了。
参考:ERROR 1366
alter table testtb convert to charset utf8;