参考原文教程:Centos7下修改mysql5.6编码方式 解决网站中文显示问号

解决办法:

修改MySQL数据库字符编码为UTF-8,UTF-8包含全世界所有国家需要用到的字符,是国际编码。

具体操作:

1、进入MySQL控制台

<code>mysql  -u root -p<br/>
</code>

输入密码

查看当前mysql运行状态

<code>mysql>status<br/>
</code>

CentOS7下mysql5.6修改默认编码

其中serverdb原不是utf-8;默认编码是latin1

2.修改mysql配置文件

默认位置:/etc/my.cnf

<code>vim /etc/my.cnf<br/>
</code>

CentOS7下mysql5.6修改默认编码

图片是我添加设置后的。

  • 我的mysql没有[client]这个字段,首先添加上,在[client]段增加下面代码default-character-set=utf8(网上还有提到其他的设置语句,是以前的版本,现在不用了)

  • 在[mysqld]段增加下面的代码

character-set-server=utf8

collation-server=utf8_general_ci

:wq! #保存退出

<code>systemctl restart mysql.service #重启MySQL<br/>
</code>
  • 查看当前mysql运行状态

mysql>status

此时所有编码应该都是UTF-8

参数说明:

haracter_set_client:客户端请求数据的字符集。

character_set_connection:从客户端接收到数据,然后传输的字符集。

character_set_database:默认数据库的字符集,无论默认数据库如何改变,都是这个字符集;如果没有默认数据库,使character_set_server指定的字符集,此参数无需设置。

character_set_filesystem:把操作系统上文件名转化成此字符集,即把character_set_client转换character_set_filesystem,默认binary即可。

character_set_results:结果集的字符集。

character_set_server:数据库服务器的默认字符集。