phpmyadmin中显示中文是乱码,但是我们利用php连接mysql数据库之后发现并没有这个问题,那么问题原因就是我们数据库内容没问题只存在了phpmyadmin编码设置问题了,下面来简单的介绍问题解决方法吧.
phpmyadmin界面乱码
效果如我们的中文表都是乱码了,,我使用的是国外的linux空间了,使用国内的没问题.phpmyadmin中中文乱码,英文没问题,但在网页显示正常.
出现这个问题我们可以不使用国外主机现成的phpmyadmin了,我们自己下载一个phpmyadmin上传上去,这样一般可以解决问题,如果不行我们参考下面办法.
phpmyadmin乱码解决:
1.因为MySQL的默认编码是latin1,所以首先我们需要修改一下PHPMyAdmin的编码转换,修改libraries目录下面的select_lang.lib.php文件,将如下代码:
- [indent]
- 'utf-8' => 'utf8',
-
- 'utf-8' => 'latin1',
- [/indent]
2.接下来还要修改一下页面的编码显示,将如下代码:
- [indent]
- 'zh-gb2312' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh'),
-
- 'zh-gb2312-utf-8' => array('zh|chinese simplified', 'chinese_simplified-gb2312', 'zh'),
- [/indent]
也就是在zh-gb2312后面增加-utf-8,这样页面编码就支持UTF-8了.
3.首先选择zh-gb2312-utf-8进入PHPMyAdmin,这个时候浏览GB2312编码的数据正常,但是浏览UTF-8的数据是乱码,如果浏览UTF-8的数据的话,进入首页,然后在Language里面选择zh-utf-8就可以了.
php页面中文乱码
如果是程序页面错误我们可参考一面方法,数据库中,所有表和有中文的字段指定使用编码:utf8_unicode_ci,注意表和字段都需要指定,数据库连接的时候指定编码,代码如下:
- mysqli_query($db_conn, "SET NAMES utf8");
- mysqli_query($db_conn, "set character_set_client=utf8");
- mysqli_query($db_conn, "set character_set_connection=utf8");
- mysqli_query($db_conn, "set character_set_results=utf8");
-
这样页面问题也就解决了. |