云服务器 ECS MySQL 修改的默认字符集

  • A+
所属分类:MySQL
高性能企业级服务器首台5折

问题说明


修改 ECS MySQL 数据库的字符集。

问题原因


MySQL 数据库有默认有两大类字符集,分别通过如下方式查看:

  1. 服务器端字符集  对应查看命令:
    
    
    1
    <span class="hljs-keyword">show</span> <span class="hljs-keyword">global</span> <span class="hljs-keyword">variables</span> <span class="hljs-keyword">like</span> <span class="hljs-string">'%chara%'</span>;
  2. 客户端的字符集 对应的查询命令是:
    
    
    1
    <span class="hljs-keyword">show</span> <span class="hljs-keyword">session</span> <span class="hljs-keyword">variables</span> <span class="hljs-keyword">like</span> <span class="hljs-string">'%chara%'</span>;

50.jpg

以上图为例,服务器端的字符集已经是 gbk,而客户端字符集中,“character_set_client”、“character_set_connection”是 utf8。

向数据库中插入数据流程是:客户端 > 连接 > 数据库

返回结果流程是:数据库 >  链接 > results

本文 results 为默认不会乱码,若是 utf8 则可能返回为乱码。

处理办法


修改 MySQL 字符集的方法如下:

Linux 环境修改方法

MySQL 5.5 版本,及以上版本改为:


1
2
3
4
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8

修改好配置文件后,重启 MySQL 服务使修改生效


1
<span class="hljs-comment"># service mysqld restart</span>

Windows 环境修改方法

MySQL 5.5 版本以下这样修改:


1
2
3
4
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8

MySQL 5.5版本,及以上版本改为:


1
2
3
4
[client]
default-character-set = utf8
[mysqld]
character-set-server = utf8

注意:在 MySQL 的安装目录中,修改 my.ini 这个 MySQL 的配置文件。

修改好配置文件后,重启 MySQL 服务使修改生效。
Windows下的 MySQL 服务一般在服务管理器中重启,cmd 命令行中输入 services.msc。
回车后会弹出服务管理器,找到 MySQL 相关服务,右键重启即可。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: