根據我的經驗php與mysql中出現亂碼一般都是文檔編碼的問題如 gbk,uft8,gb2312等與頁面編碼不一致,下面我總結了phpMyAdmin顯示中文亂碼的解決方法。
先看如圖
解決1
php.ini沒有extension=php_mysql.dll
碰到這個問題後一般打開phpmyadmin就會出現
亂碼錯誤
我們把php裡面的libmysql.dll復制到c:\windows\system32或者c:\winnt\system32
然後重新啟動電腦就行
解決2
下面是我的修改過程:
打開 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', 'chinese_simplified-gb2312', 'zh', '中文'),
再找到:
代碼如下 復制代碼 'gb2312' => 'gb2312',
將其改為:
代碼如下 復制代碼 'gb2312' => 'latin1',
保存文件退出。
然後從浏覽器打開 phpMyAdmin ,在首頁選擇 Language 為:中文 -Chinese simplified-UTF8
然後打開數據表看看裡面的中文是不是已經可以正常顯示了:)
解決三
Mysql中的表默認是使用latin1編碼的,但內容如果是通過mysql命令等進行添加操作,一般都是gb2312編碼插入的,直接在phpmyadmin上 使用語言:中文 - Chinese simplified 下查看是亂碼
一、打開 libraries/select_lang.lib.php,查找 $available_languages 數組,在其最後添加一項數據:
Php代碼
代碼如下 復制代碼 1.'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編碼的表,就可以看到亂碼已經不在了: