PHP big5轉utf8不要用iconv(),iconv這個函數,用mb_convert_encoding

不要以為big5轉utf8就用iconv()這麼簡單

iconv("big5", "UTF-8", $str);

big5有很多字是沒有收錄的:

綫、綉、滙、栢、峯、頴、邨、着、双
iconv這個函數他遇到轉不出來的字,就停住了,可能會造成輸出文件中斷,導致文件結構錯誤。
請改用 mb_convert_encoding ,別高興太早 big5 沒有的字依然不會出來,只是不會因為遇到 big5 不認識的字就卡住,雖然輸出的速度好像會比iconv慢,不過順利解決問題。

測試:

$string = "轉碼測試功蓋銹abc轉碼測試"; 
$result = mb_convert_encoding($string,"utf-8","big5");
echo $result;

用法:

mb_convert_encoding( $str, $encoding1,$encoding2 );
$str,要轉換編碼文字

$encoding1,目標編碼,如utf-8,big5,大小寫均可
$encoding2,原始編碼,如UTF-8,BIG5,大小寫均可
mb_convert_encoding($str, "UTF-8"); //編碼轉換為utf-8
mb_convert_encoding($str, "UTF-8", "BIG5"); //原始編碼為BIG5轉UTF-8
mb_convert_encoding($str, "UTF-8", "auto"); //原始編碼不明,通過auto自動檢測,轉換UTF-8

原文出自:

http://sweslo17.blogspot.tw/2012/04/big5-erpms-sql-local-cache-phpiconv.html
http://dev.sopili.net/2009/08/phpbig5utf8iconv.html
http://help.i2yes.com/?q=node/65

相關文章:

READ  jQuery 繁體中文參考手冊 - 非常詳細 - 學jQuery必備 - 教學必備

“PHP big5轉utf8不要用iconv(),iconv這個函數,用mb_convert_encoding” 有 1 則迴響.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料