根據(jù)我的經(jīng)驗(yàn)php與mysql中出現(xiàn)亂碼一般都是文檔編碼的問題如 gbk,uft8,gb2312等與頁面編碼不一致.
解決1:php.ini沒有extension=php_mysql.dll
碰到這個(gè)問題后一般打開phpmyadmin就會(huì)出現(xiàn)亂碼錯(cuò)誤,我們把php里面的libmysql.dll復(fù)制到c:\windows\system32或者c:\winnt\system32,然后重新啟動(dòng)電腦就行
解決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,然后打開數(shù)據(jù)表看看里面的中文是不是已經(jīng)可以正常顯示了:)
解決三:Mysql中的表默認(rèn)是使用latin1編碼的,但內(nèi)容如果是通過mysql命令等進(jìn)行添加操作,一般都是gb2312編碼插入的,直接在phpmyadmin上 使用語言:中文 - Chinese simplified 下查看是亂碼
一、打開 libraries/select_lang.lib.php,查找 $available_languages 數(shù)組,在其最后添加一項(xiàng)數(shù)據(jù):
Php代碼
二、再搜索 $mysql_charset_map 找到這個(gè)數(shù)組,將其中的一項(xiàng)值 'gb2312' => 'gb2312' 改成 'gb2312' => 'latin1'。
三、重新打開phpmyadmin。語言選擇 中文 - Chinese simplified latin1,這時(shí)再打開latin1編碼的表,就可以看到亂碼已經(jīng)不在了.