Server characterset: latin1

  Db characterset: latin1

  Client characterset: utf8

  Conn. characterset: utf8

  默认客户端和服务器端都用了latin1编码,所以会出现乱码。

  2、修改mysql配置文件

  vi /etc/my.cnf

  #在[client]段增加下面代码

  default-character-set=utf8

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

  default-storage-engine=INNODB

  character-set-server=utf8

  collation-server=utf8_general_ci

  :wq!#保存退出

  7dfafde7bf81b83be9ee0c24ba2a0ae6.png

  3、service mysqld restart#重启MySQL

  再次进入MySQL控制台查看,如下图所示:

  78963be9e43f73f94a51be3824b93553.png

  Server characterset: utf8

  Db characterset: utf8

  Client characterset: utf8

  Conn. characterset: utf8

  show variables like 'character_set_%';#查看MySQL字符集

  37b7bb50f3de3fd1f437260859f8b068.png

  MySQL数据库字符集编码修改完成!

  参数说明:

  character_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:数据库服务器的默认字符集。

  character_set_system:这个值总是utf8,不需要设置,存储系统元数据的字符集。

  备注:

  MySQL 5.5之前的版本设置办法:

  在[client]段下添加

  default-character-set=utf8

  在[mysqld]段下添加

  default-character-set=utf8

  注意,如果修改后不能启动报错,把[mysqld]段下default-character-set=utf8改为character_set_server=utf8,取消[client]段的设置。

  创建数据库的命令:

  Create DATABASE IF NOT EXISTS mydata default charset utf8 COLLATE utf8_general_ci;

  至此,修改MySQL数据库字符编码为UTF-8解决中文乱码教程完成。

最后修改:2024 年 08 月 09 日
如果觉得我的文章对你有用,请随意赞赏