/* php 將 utf8 html 轉(zhuǎn)換為 ansi 的函數(shù) */
public static function Utf8_ansi($valor='') { $utf8_ansi2 = array( "\u00c0" =>"à", "\u00c1" =>"á", "\u00c2" =>"?", "\u00c3" =>"?", "\u00c4" =>"?", "\u00c5" =>"?", "\u00c6" =>"?", "\u00c7" =>"?", "\u00c8" =>"è", "\u00c9" =>"é", "\u00ca" =>"ê", "\u00cb" =>"?", "\u00cc" =>"ì", "\u00cd" =>"í", "\u00ce" =>"?", "\u00cf" =>"?", "\u00d1" =>"?", "\u00d2" =>"ò", "\u00d3" =>"ó", "\u00d4" =>"?", "\u00d5" =>"?", "\u00d6" =>"?", "\u00d8" =>"?", "\u00d9" =>"ù", "\u00da" =>"ú", "\u00db" =>"?", "\u00dc" =>"ü", "\u00dd" =>"Y", "\u00df" =>"?", "\u00e0" =>"à", "\u00e1" =>"á", "\u00e2" =>"a", "\u00e3" =>"?", "\u00e4" =>"?", "\u00e5" =>"?", "\u00e6" =>"?", "\u00e7" =>"?", "\u00e8" =>"è", "\u00e9" =>"é", "\u00ea" =>"ê", "\u00eb" =>"?", "\u00ec" =>"ì", "\u00ed" =>"í", "\u00ee" =>"?", "\u00ef" =>"?", "\u00f0" =>"e", "\u00f1" =>"?", "\u00f2" =>"ò", "\u00f3" =>"ó", "\u00f4" =>"?", "\u00f5" =>"?", "\u00f6" =>"?", "\u00f8" =>"?", "\u00f9" =>"ù", "\u00fa" =>"ú", "\u00fb" =>"?", "\u00fc" =>"ü", "\u00fd" =>"y", "\u00ff" =>"?"); return strtr($valor, $utf8_ansi2); }
有一個(gè)辦法。將所有 uXXXX
替換為其 HTML 表示形式,並執(zhí)行 html_entity_decode()
即echo html_entity_decode("Jalostotitlán");
u1234
形式的每個(gè) UTF 字元都可以在 HTML 中列印為 ?
。但是進(jìn)行替換非常困難,因?yàn)槿绻麤](méi)有其他字元來(lái)標(biāo)識(shí) UTF 序列的開(kāi)頭,則可能會(huì)出現(xiàn)很多誤報(bào)。一個(gè)簡(jiǎn)單的正規(guī)表示式可能是
preg_replace('/u([\da-fA-F]{4})/', '\1;', $str)