UTF-8 轉 BIG5 運用 mb_convert_encoding() 的處理方式

function utf8conv2charset($utf8str, $charset='big5',$encode='utf-8'){
mb_regex_encoding($charset); // 宣告 要進行 regex 的多位元編碼轉換格式 為 $charset
mb_substitute_character('long'); // 宣告 缺碼字改以U+16進位碼為標記取代
$utf8str = mb_convert_encoding($utf8str, $charset, $encode);
$utf8str = preg_replace('/U\+([0-9A-F]{4})/e', '"&#".intval("\\1",16).";"', $utf8str); //U+16進位碼標記轉換為UnicodeHTML碼
return $utf8str;
}

Leave a Reply