在phpMyAdmin2.6以上版本因為支援多語言集,弄得我們使用phpMyAdmin管理資料庫的時候,查詢出來的中文都是亂碼,但是在我們的PHP程式呼叫時卻沒有這些問題。
看來是phpMyAdmin2.6的配置有問題了,為了解決這個問題,我上google上搜尋了相關資料,這類的問題很多,但沒一個可以解決的,真是沒辦法,看來只有自己動手解決了。
。 。 。由於查找原始碼過程非常煩瑣,略
最終花了半天的時間,總算找到了一個比較折衷的方法來解決。
去phpMyAdmin2.6的根目錄下,開啟以下這個檔案:
libraries/select_lang.lib.php
1.找到有"zh-gb2312"的那一行,把'zh-gb2312' 改成'zh-gb2312-utf-8'
為什麼要這樣加?那是因為伺服器會把沒有"-utf-8"的語言過濾掉,在libraries/database_interface.lib.php 第168行,根據英文說:“為了防止混淆”,:<
或如果不把'zh-gb2312 ' 改成'zh-gb2312-utf-8',可以去掉過濾吧。把那個if去掉就OK了。
2、找到"$mysql_charset_map = array("那一行把'gb2312' => 'gb2312',
改成'gb2312' => 'latin1',
保存,OK,在進入phpMyAdmin管理,選擇語言chinese simplified(zh-gb2312-utf-8)
再看看你的那些中文數據。
所以說,我的這個解決方法就只是修改libraries/select_lang.lib.php這一個文件裡的兩個字就行,比較方便快捷,哈哈。