解决Phpmyadmin导入导出显示中文乱码
正 文:
相信大家在使用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出现中文乱码的问题已经解决。
转载自:http://hi.baidu.com/jerring/item/872fff20672fb413087508e4
转载:http://hi.baidu.com/miwenshu/item/4f3e203b9a14e349033edce8
Mysql中的表默认是使用latin1编码的,但内容如果是通过mysql命令等进行添加操作,一般都是gb2312编码插入的,直接在phpmyadmin上 使用语言:中文 - Chinese simplified 下查看是乱码:
这时如果想要在phpMyAdmin中修改其值,既不知道现在的值是什么,输入新值插入后,网站页面上又会显示成乱码,这时我们需要通过修改phpMyAdmin的配置文件来解决此问题。
我使用的是 phpMyAdmin 2.8.0.2。
一、打开 libraries/select_lang.lib.php,查找 $available_languages 数组,在其最后添加一项数据:
Php代码- 'zh-gb2312-utf-8' => array('zh|chinese simplified latin1', 'chinese_simplified-gb2312', 'zh', '中文')
注:中文 代表是“中文”两个字。
二、再搜索 $mysql_charset_map 找到这个数组,将其中的一项值 'gb2312' => 'gb2312' 改成 'gb2312' => 'latin1'。
三、重新打开phpmyadmin。语言选择 中文 - Chinese simplified latin1
这时再打开latin1编码的表,就可以看到乱码已经不在了: