首页 > 数据库开发 > 如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题
2019
03-26

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题

系统使用数据库MySQL,在创建数据库和表时都设置了UTF-8编码,PHP页面里也设置的是UTF-8编码,但是页面中取自数据库的中文字符都是乱码,如何解决该问题?

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题 - 第1张  | 逗分享开发经验

解决步骤:

第一步:查看数据库的编码设置,输入命令:show variables like 'character%';

下图中只有character_set_client ,character_set_connection,character_set_server的编码不是utf8,只要这三个设置的编码为utf8就不会导致乱码。接下去我们就修改这三处的设置。

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题 - 第2张  | 逗分享开发经验

第二步:找到并编辑MySQL的配置文件my.ini(Windows下)或my.cnf(Linux下)

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

default-character-set=utf8

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

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

如图:

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题 - 第3张  | 逗分享开发经验

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题 - 第4张  | 逗分享开发经验

第三步:重启MySQL后,再次查看数据库的编码设置

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题 - 第5张  | 逗分享开发经验

第四步:重新创建数据库,输入命令:CREATE DATABASE yourDbName DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

并重新导入数据,这时页面显示就正常了。

如何解决MySQL使用UTF-8编码后仍旧中文乱码的问题 - 第6张  | 逗分享开发经验

最后编辑:
作者:搬运工
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。