phpMyAdmin 看utf-8亂碼的問題

回覆文章
yehlu
Site Admin
文章: 3245
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

phpMyAdmin 看utf-8亂碼的問題

文章 yehlu »

我想很多人都碰到這個問題, 在DreamHost上使用phpMyAdmin管理MySQL資料庫時看到的資料庫內容都是亂碼, 或是備份再回傳之後整個網站都變成亂碼, 尤其是在網站換主機商(搬家)的時後才發現這個問題最令人頭痛.

其實不只是DreamHost有這個問題, 只要是用MySQL 4.1以後的版本都有可能會碰到這個問題, 跟那個主機商無關, 也跟你用的架站軟體關係不大.

詳細的原因這邊就不在解釋, 有興趣的用Google找找不難找到, 這邊提供一個"偷吃步"的解決方案. 此法適用於big5或utf-8編碼的網站, 任何架站軟體都通用.

詳細步驟:

1. 按這邊下載phpMyAdmin 2.8.0-beta1

2. 解壓縮

3. 打開phpMyAdmin280b1/config.inc.php, 做下列更改:

第57行: $cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address 把localhost改成你的MySQL主機位置, 也就是 DB Hostname:
第72行: $cfg['Servers'][$i]['user'] = 'root'; // MySQL user 把root改成你的MySQL資料庫的使用者名稱, 也就是 DB Username:
第73行: $cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed 在''中間填入你的MySQL資料庫的密碼, 也就是 DB Password:

3. 改好後整個目錄上傳到你的網站的目錄下

4. 用你的瀏覽器連到 http://你的網址/phpMyAdmin280b1 應該就可以看到你的MySQL資料庫的內容顯示正常的中文而不是亂碼了.

註解:

1. 這並不是啥特別版本的phpMyAdmin, 跟原來官方版本的差別只有我把phpMyAdmin280b1/libraries/select_lang.lib.php 這個檔案改過

第353行: 'big5' => 'big5', 改成 'big5' => 'latin1',
第370行: 'utf-8' => 'utf-8', 改成 'utf-8' => 'latin1',

如果自己已經有裝phpMyAdmin的也可以自己改.

2. 注意: phpMyAdmin本身並沒有保護機制, 請用主機商控制台裡面的功能將phpMyAdmin的目錄用密碼保護起來, 或是將config.inc.php裡面的密碼刪除, 要用的時後再填上去

3. 此法也可解決使用phpMyAdmin備份後回存亂碼的問題.

4. 此法僅在DreamHost主機上做過測試, 一切正常, 歡迎使用其它主機商的朋友回報測試結果.
回覆文章

回到「MySQL」