作者EJB (JAVA.net)
看板PHP
標題[請益] utf-8 phpmyadmin 中文顯示亂碼
時間Tue Dec 13 10:03:55 2011
最近剛接手一個網站
由於公司之前是請外包的廠商製作
發現蠻多都是用網路上模組重新改編過
在資料庫中 中文顯示都會出現亂碼
但在頁面是正常情況 例如 ç”¢å“ 頁面顯示 產品類別
確定過是utf-8編碼
mysql 連線校對 他原先的編碼是採用 utf8-general-ci
以往習慣都是用utf8-unicode-ci
有詢問過廠商工程師 得到的回覆是 程式沒有問題 所以這部分他不管
也說了當初交公司只要頁面是正常 程式就代表沒有問題
後續維護什麼都跟他們沒有關係
這點我知道 也沒有要去問他語法寫法 這些屬於他人智慧財產問題 我也不會過問
但我用基本的query 語法 一筆資料進去 頁面呈現部分是亂碼
資料庫顯示正常
這部分 我該怎麼處理?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.23.159
1F:→ buganini:mysqldump --default-character-set=latin1 出來看 12/13 10:44
2F:→ buganini:如果是正常的話,就在dump出來的東西前面加 一行 12/13 10:44
3F:→ buganini:然後倒回去,其他所有程式連線後也都要執行那 一行 12/13 10:45
4F:→ buganini:一行 = SET NAMES UTF8 12/13 10:45
5F:→ buganini:沒加的話,就是utf-8資料被當成latin1再轉成utf-8 12/13 10:46
6F:→ buganini:沒加那個程式,mysql會幫他轉回去,所以用起來都沒問題 12/13 10:46
7F:→ buganini:但phpmyadmin會自動set names 看起來反而是錯的 12/13 10:47
8F:→ EJB:感謝 我試看看 > < 12/13 11:15
9F:→ EJB:以前的資料該怎麼辦? 原先資料庫中的中文都呈現亂碼 12/13 12:09
10F:→ buganini:以前的資料就是要dump出來再到回去啊 12/13 19:27
11F:→ EJB:OK 已處理完畢 謝謝 12/14 10:03