问题说明
修改 ECS MySQL 数据库的字符集。
问题原因
MySQL 数据库有默认有两大类字符集,分别通过如下方式查看:
服务器端字符集对应查看命令:
show global variables like '%chara%';
客户端的字符集 对应的查询命令是:
show session variables like '%chara%';
以上图为例,服务器端的字符集已经是 gbk,而客户端字符集中,“character_set_client”、“character_set_connection”是 utf8。
向数据库中插入数据流程是:客户端 >连接>数据库
返回结果流程是:数据库 > 链接>results
本文 results 为默认不会乱码,若是 utf8 则可能返回为乱码。
处理办法
修改 MySQL 字符集的方法如下:
Linux 环境修改方法
Windows 环境修改方法
Linux 环境修改方法
MySQL 5.5 版本,及以上版本改为:
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
修改好配置文件后,重启 MySQL服务使修改生效
# service mysqld restart
Windows 环境修改方法
MySQL 5.5 版本以下这样修改:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
MySQL 5.5版本,及以上版本改为:
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8
注意:在 MySQL 的安装目录中,修改 my.ini 这个 MySQL 的配置文件。
修改好配置文件后,重启 MySQL 服务使修改生效。Windows下的 MySQL服务一般在服务管理器中重启,cmd 命令行中输入 services.msc。回车后会弹出服务管理器,找到 MySQL 相关服务,右键重启即可。