解決phpMyAdmin2.6以上版本數(shù)據(jù)亂碼問題

2010-08-28 10:52:28來源:西部e網(wǎng)作者:

在phpMyAdmin2.6以上版本因為支持多語言集,弄得我們使用phpMyAdmin管理數(shù)據(jù)庫的時候,查詢出來的中文都是亂碼,但是在我們的PHP程序調(diào)用時卻沒有這些問題。
看來是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行,根據(jù)英文說:“為了防止混淆”,:<

或者如果不把'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)
再看看你的那些中文數(shù)據(jù)。

所以說,我的這個解決辦法就只是修改libraries/select_lang.lib.php這一個文件里的兩個字就行,比較方便快捷,哈哈。

關鍵詞:php