作者cjoe (TeA)
看板PHP
標題[分享] phpmyadmin資料匯出編碼亂掉解決
時間Wed Oct 27 16:15:59 2010
有時候,可能會遇到舊系統當初在設計的時候,系統並無特別指定編碼
所以在資料庫存檔時,是採用latin1編碼存檔,結果在phpmyadmin
匯出的時候,所得到的資料是亂碼。
經過今天的實驗,以下可將亂碼資料轉回成正確編碼狀態:
<?php
//讀取檔案
$content = file_get_contents("db.sql");
//將文字從utf8轉成latin1編碼(當初在phpmyadmin介面是指定utf8瀏覽)
$content = mb_convert_encoding($content,'latin1','utf8');
//輸出
echo $content;
?>
以上重點在於要把phpmyadmin當時在匯出的時候,當時所採用的編碼給轉回去latin1
嗯...後來我都用utf8編碼,所以都沒再遇到這樣的問題,
是剛好今天在轉舊系統的資料,碰巧又遇到編碼上的問題,
好奇心的驅使下來解決六年前我不會的問題...
(以前我不會解決 Orz)
如果各位先進早就都會了,就當我野人獻曝吧 ~ T_T
--
從一代一代的問候就看的出來
老手對新手的照顧
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.130.212.222
→ kylekai:這樣轉..理論上會出錯得... 10/27 16:27
→ cjoe:big5(WEB)->latin1(DB)->utf8(phpmyadmin) 10/27 16:29
→ cjoe:我今天是這樣解決問題的 T_T 10/27 16:29
推 buganini:是不會出錯 但也不算正確 只是latin1剛好包含1byte中 10/28 10:43
→ buganini:所有可能的value 當byte string用而已 10/28 10:43
→ buganini:不過那是舊系統的問題.. 10/28 10:44