根据我的经验PHP与MysqL中出现乱码一般都是文档编码的问题如 gbk,uft8,gb2312等与页面编码不一致.
解决1:PHP.ini没有extension=PHP_MysqL.dll
碰到这个问题后一般打开PHPmyadmin就会出现乱码错误,我们把PHP里面的libMysqL.dll复制到c:\windows\system32或者c:\winnt\system32,然后重新启动电脑就行
打开 PHPMyAdmin 根目录中 libraries/select_lang.lib.PHP 文件;找到:'zh-gb2312' => array('zh|chinese simplified','chinese_simplified-gb2312','zh','中文'),将其改为:'zh-gb2312-utf-8' => array('zh|chinese simplified-UTF8',再找到:'gb2312' => 'gb2312',将其改为:'gb2312' => 'latin1',保存文件退出。
然后从浏览器打开 PHPMyAdmin ,在首页选择 Language 为:中文 -Chinese simplified-UTF8,然后打开数据表看看里面的中文是不是已经可以正常显示了:)
解决三:MysqL中的表默认是使用latin1编码的,但内容如果是通过MysqL命令等进行添加操作,一般都是gb2312编码插入的,直接在PHPmyadmin上 使用语言:中文 - Chinese simplified 下查看是乱码
一、打开 libraries/select_lang.lib.PHP,查找 $available_languages 数组,在其最后添加一项数据:
- 'zh-gb2312-utf-8' => array('zh|chinese simplified latin1', 'chinese_simplified-gb2312', 'zh', '中文')
- 'zh-gb2312-utf-8' => array('zh|chinese simplified latin1', '中文')
- //注:中文 代表是“中文”两个字。
二、再搜索 $MysqL_charset_map 找到这个数组,将其中的一项值 'gb2312' => 'gb2312' 改成 'gb2312' => 'latin1'。
三、重新打开PHPmyadmin。语言选择 中文 - Chinese simplified latin1,这时再打开latin1编码的表,就可以看到乱码已经不在了.