帮助中心 >  技术知识库 >  网站相关 >  程序开发 >  phpmyadmin导入数据库中文乱码的解决方法

phpmyadmin导入数据库中文乱码的解决方法

2017-01-20 10:32:42 10323

今天碰到phpmyadmin导入sql文件,中文内容乱码导致导入出错问题,已解决,总结出phpmyadmin的编码设置问题如下:

一、phpmyadmin设置新建数据库的默认编码为gbkutf8编码的方法

1.先查看本mysql的各项charset设置,运行sql查询语句:

show variables like   'character%';

blob.png

查询结果中:

character_set_database:代表当前所在数据库的编码,这里是latin1

character_set_server代表默认的新建数据库编码,还是latin1

也就是说,我的当前所在数据库编码是lantin1,而如果我新建一个数据库,默认编码是latin1

2.根据character_set_databasecharacter_set_server的值,我们就好办了。运行以下两条sql语句,即可设置完毕:

set character_set_server=utf8;  //设置默认新建数据库编码为utf8

alter database testdb character set utf8;  //更改现有数据库编码

注意:“set character_set_server=uft8”只对当前连接或者查询有效,果想新建数据库,请将create database语句写在同一查询中,否则无效。

若想永久生效,将“character_set_server = utf8”写入mysql的配置文件/etc/my.cnf即可。

二、phpmyadmin导入数据库时gbkutf8编码的设置(解决导入数据库中文乱码问题)

1.首先确保导入的sql文件中的中文不是乱码,此sql文件可以是utf8编码也可以是gb2312编码;

2.sql文件的最开头添加set names utf8或者gb2312;(必须与你文件的编码相同,如果你想导入后是utf8,你的文件编码就要是utf8,如果想导入后是gbk/gb2312,你的文件编码就要是gbk/gb2312);

3.通过phpmyadmin导入界面直接导入即可;

4.文件的字符集,mysql字符集,mysql连接校对等几?字符集设置可以不用管,比如我这里mysql字符集,mysql连接校对分别是latin1utf8_general_ci,不影响我的导入后的字符集和编码。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: