相信大家在使用PHPmyadmin把mysql数据库导入导出的时候都遇到过中文乱码的问题,尤其是网站迁移的过程中,只有把这个中文乱码的问题解决好了,解决透了,你才能把mysql数据库玩熟玩好。
那到底如何解决在使用 PHPmyadmin 中遇到的乱码问题了,其实问题就是出在 编码 的问题上。中文网站使用的字符集编码一般是 gb2312,gbk,utf8 这三种。由于phpmyadmin默认的字符集是 latin1_swedish_ci,为啥是它,因为当初就是瑞典人开发,第一个吃螃蟹者才能留名。但这就和我们使用的 gb2312,gbk,utf8 不一样了,所以如果不修改字符集,就会出现乱码了。
我们在导出数据库的时候,就特别地要注意编码了。因为飘易经常使用的字符集是 gbk_chinese_ci ,所以就以 gbk_chinese_ci 为例来说明,如何处理中文乱码的问题。
首先,在导出数据的时候,我们要查看数据表中记录里的中文能否正常显示,如果显示的中文都是 ??? 这样的问号,那么你就要重新设置语言为你所采用的编码的数据库格式,比如飘易的数据库的编码是 gbk_chinese_ci ,数据库引擎是 MyISAM ,那么我们就必须将phpMyAdmin的 Language (语言)设置为 Chinese simplified (zh-utf-8),而不是 Chinese simplified (zh-gb2312-utf-8)。
同样,如果你的数据编码是 gb2312_chinese_ci,那么你必须把 Language 设置为 Chinese simplified (zh-gb2312-utf-8),而不是 Chinese simplified (zh-utf-8)。
只有选对了语言,我们在导出sql的时候才不会出现中文乱码。
为了检查我们导出的sql文件是否正确,可以直接用记事本打开 .sql 文件,查看中文看是否乱码,如果显示正常,则说明我们正确导出了。
在网站迁移,或重新导入sql文件的时候,一般的 MySQL 字符集: UTF-8 Unicode (utf8) ,不必修改,在导入上述导出的sql脚本时,“文件的字符集”选择utf8(默认)即可。
另外需要注意的是,在进入任何操作,如插入、查询等之前,都必须指定字符集,飘易采取的方法是在数据库连接文件里加一句 : set names 'gbk' ;在网页显示的时候也不会出现乱码了。总之,你用什么编码,你就指定什么编码。
至此,使用PHPmyadmin出现中文乱码的问题已经解决。