PHP UTF8ڵķת

ҹһJSģǵUTF8ﲻãǾͲдһͷʵʵԭܼ򵥵ģֻһ滻ַḶ́Ŵ󲿷˶дóǴ룬֪ûbugʹ⣬

ƴ :

<?php

//<meta charset=utf-8">

class utf8_chinese

{

private $utf8_gb2312;

private $utf8_big5;

public function __construct(){

$this->utf8_gb2312 = "רҵԶ˿ɥܷΪôϰڿبDzĶڽزǼŻɡΰαӶ½ȿ٭ٯٶٱٲٳծdzϴжڸԲдũڣݼƾۻմɾiٹܼнȰ۽ѫ„ҽЭ¬±ȴ᳧ѹDzóز΅˫Ҷ̾ߴĶ߼߽Ż߿ԱǺӽܻӴy|Х࿺԰ΧͼԲʥ۳໵̳ް׹¢ݿѵ눙ǵGǽ׳Ǻ״ͷжۼܽױ橽¦欽测OӤѧʵܹ޶ѰٽҢʬ᫸ᰵᴿNϿiոɍ۹ϱ˧ʦĴ֡᥸ɲׯ®пӦӷώ޿䵯ǿ鵱¼峹黳̬Ҷҳͱ㫲ѵ㳷Ը\Ϸս꯻ǤִɨŸҿ£ӵšֿΒ̢ЮӵӒ񻻵°§Яҡ̯ߢߣߥܵի쵶ն޾ʱDoԽɹӻɱȨ追ܼǹɹդջж嵵׮Η¥鷘ƺӣͳݻŷŹ챱ϱձ뵻㺺ûŽٲכhmŢкdz䥛Dz䫼䯛Ũ䱛ͿӿЛɬԨ½ʪӜб̲ΫDZֲ¯˸̷ǻ̽Ȼְүǣ״̱Aʨè̡_`⻷֫o巩竚Q걵续űߴӸ컾}̱Ѣ񳰨յμǵשn˶ͳ}~ȷﰭ׼t»ͺֻƻඌ˰ҤѿȼɸYݳǩ¨׽ԼγɴڷֽƷŦϸ֯称ᆳ窰޽笻Ѥͳ篾м簼糴ά緱׺罼翼綶ĻƱԵƸǷɲӧٽ޷ʳְ೦вʤֽŧNHܳսܼ«έɲƻ뾣QٻӫݡݣݥݤݦݧҩݰݯݪݫݲݵӨݺݻ[өӪ޽Ǿޭ޴޻޺²ϺʴӬЫ΅]βЄϮBװTϿ[_`ԀڥƶϼڦڧڨѵѶךکڪګכϷþ֤ڬڭʶלթڮߴڰگםڱڲڳڴʫڵڶڷڸڹѯںڻڼמڽھջڿ˵ŵ·̿˭ŵ׻̸ıȵгνβנлҥǫ׽á̷Ǵ߹k긺OͰ˻ʷ̰ƶṺܴᷡóѺ޼ֻ¸޸ʹPQR׸׬SӮWԸԾȼQӻaתbԹcꣷdԯϽշꥴDZɴǨ˻ԶΥɼѡѷңۣۧۦ֣۩۪ǵN⠼붤ǥ蕷藸Ѷ۳ƱԿվٹťǮǯܲǦíͭաϳ綠ҿﭳﲷпêസ׶ĶABͶþCDָFG޾HIJⳤ\ʴȼբֹ]^ղ_`a׼½¤ѳùΤ킺ҳ˳˶Ԥ­ľFGƵHIӱJնKȧrstuvƮ쮷𗼢α¶ڹȲ@AԦѱR¿ʻפS溧TUVWXƭYɧZ³@𯼦\Ÿѻ]Ѽ^_ԧ`abcȵdefghiklmnoϺprӥstdػ촳ȣ־ֻϵû׼ӱиɾƴ";

$this->utf8_big5 = "fchI|zGɇʂSReNxlIy̝녁aHC|Hā}xrⷕゥt΁wNLbHeɂȃS~zRzAEfhmPdƝBFσȌԌ܊rVTnQrQDRpCPD{Pcthe}qkՄӄńڄ݄̈́QT^tAfuRuPlsSdхBNPha^pl׃B~̖U\nᇘΆw LJ`҇IhTJ܆ԁUz߸jy푆}^􇂇WчO߇ZrK݇mӇc[Du‡ڇoF@DA}ĉKԉȉΉ]ʼnʼns׉|N߉P_|qϠ•؉̎}^FAZYJ^WyDKIƋɌDʋzȋ܋ԋߌOW\meیmƱMӌڌόÌٌҌՎZqM獏sSuX[hGF{AnMV􍣍⼹p얎ŎÎ͎ΎLցKVfc]T쑪RUF[_w䛏؏ƶRԑnёBZYzّQÐŐґa@֑K͑vܑMTC|ؑ𑿑БߑL̔UВߓP_ᒁoMnrQܓ쓴钶ϓגD]͓ƓpQvӓSۓvRyzd[uPtΔfX]x\SYؔofr番ҕ@xԕϕᄞgCslqܘOЗgnfdŘ˗ɗژ䗫ә藨EnuzEǙ™ΙxM{љ_geW{ݞ֚Кښ菡h@eϛ]arStI͞{oTaɛܝDќ\{۝yҝgIG❡TZiuݜo읙q՜YOn^uƝOcB[񝢞RsULM]VEI˞EutHz|l`ĠNtcqNTZCa៨Fc۠ӠޠُEwqNM{bzsCJMi؈oIH^m|hFtzkmcq\IavYT늮ܮXO󜯏bdW{ABVDTca`]_dğ}K}OwIPg{AmC\VXau^Za[ATo_|K~ALYB[\AUxdNeQxvdwF`[GZCQ]MQVSPa{\eB`Y~IUjDXjt@hf[eigcSZRfo{mutqwvswkoxV{v]y~CXMKUOEIB[HqYf@xWLok{j^gyCd^wcxm_pbyiKSdRIT^JC`UGYl~|}|ZDEP|N`dbp\cprOV_~zwtsi\`RQUyW_PT`buwNPEge–u™@šœ“˜”CcwdI[Û{đٖVLFÄz}ĒvĚXēL_ÓTĘDZs|ātevĜNݛŜŞœADWHˇdGʏJɐȔ˞{OnrKOod\LOG]RvʁɜwCjʎsȝΟn|pa{ȇȒˎWɉRɏPnW@~LɔE}ΞIMʒ_[rʉYV{EyʚvN`A@IN˒\̔]̓xAlmrϊgρΛQϖ͘MϠ|UU͐u·ϓ͑΁ϞωXsϐNϔQ\DarЖ\ыmuUbdтўcѝM@hwҊ^ҍҎҒҕҗ[XJҠ]CDMPUx|zׄu`ӅӋӆӇJIӓӏӑ׌ӘәӖhӍӛӕvM֎nӠGSӞՓKASOLECbXu{RwpV\ga~xtvgrECԇԟԊԑԜ\DԖԒQԍԏԎԃԄՊԓԔԌ՟Ԃp]_ZV`aTdNfbOՈTՌZxՎunՆ՘lՔ{~ՏՁrՄx\RՙeGCo]^@IX׋JOVBi՛՚փוqx{r՞tk֔֙ֆvևTPS׎VHחld׏Yrؐؑؓؒؕؔ؟t~؛|؜؝ؚHُA؞EvSBNFLJQMRO\ٗZVDUTEYWBgcldxـVHpnFksryهوٍَِّ٘Iדٚٛ٠AMXwsڅڎOSۄەV`JEۋ]QxPۙWUbۘXfkg|܇܈܉܎܍ܐDܗ݆ܛZMV_STWܠF]UpYdeIcb`^mov݂݅x݁y݈zwݏݗ݋ݜݔ\@ݠݚAHOoqp߅|_w^~\߀@Mh`Bt߃ޟEmxdfߊ߉zbw]udSPiByjwuYbYQTAlC{SO]}bgnRc^kj耚Jxu^[^oZX`QOXfgFKpUTCBGIoDsBeytK~XHzbAfxtPCqP||@yTonHNi{z~nSsh\JRZu|HNe^WK_adNF\vUVIiO}|IJ@R}DXVUtnky^gSMaORCBhu|jZDGCOdsnLTVWZ\]Jcebgh`l[|„Y}GywubA]U@THDFIRXAH]EUS[`hyrׇZFVq\nov^XdxfghntywBDC@ABIHiRacM}WUl_jhefw}~DhAEL^QRSZ\`_dhjjw}hqTDAEFGLINHKRQW^lktvxos}~zRSWZY_gHzx|vw{A~RQPGHEUTSKR_sj}\tq~EKLJtyxW|u~EGT|OWVNUcQTq^wnbjf`dqor~\~zaNOEHKAFTLYXalsl[gw{qvmeFcBLMI@ZX[VshkgBFuSQOtfIdcR{o|zxrv@[MPZN]ZOY^ogAliktX\BFg_OVW^YQsWpwDILXUzSZstowx{BORWXZ[]eg_fblrpx}IubeSӇL\I犏fǬK";

}

public function gb2312_big5($str) {

$str_t = '';

$len = strlen($str);

$a = 0;

while ($a < $len){

if (ord($str{$a})>=224 && ord($str{$a})<=239){

if (($temp = strpos( $this->utf8_gb2312, $str{$a} . $str{$a+1} . $str{$a+2})) !== false){

$str_t .= $this->utf8_big5{$temp} . $this->utf8_big5{$temp+1} . $this->utf8_big5{$temp+2};

$a += 3;

continue;

}

}

$str_t .= $str{$a};

$a += 1;

}

return $str_t;

}

public function big5_gb2312($str) {

$str_t = '';

$len = strlen($str);

$a = 0;

while ($a < $len){

if (ord($str{$a})>=224 && ord($str{$a})<=239){

if (($temp = strpos( $this->utf8_big5, $str{$a} . $str{$a+1} . $str{$a+2})) !== false){

$str_t .= $this->utf8_gb2312{$temp} . $this->utf8_gb2312{$temp+1} . $this->utf8_gb2312{$temp+2};

$a += 3;

continue;

}

}

$str_t .= $str{$a};

$a += 1;

}

return $str_t;

}

}

//ĵUTF8 PHP100.com

header("Content-Type: text/html; charset=utf-8");

$chinese = new utf8_chinese;

//UTF8ڼת

$str = "л񹲺͹";

$str_big5 = $chinese->gb2312_big5($str);

echo "ԭģ$str <br />";

echo "תΪ $str_big5 <br />";

//UTF8ڷת

$str = "A񹲺͇fq ";

$str_gb2312 = $chinese->big5_gb2312($str);

echo "ԭģ $str <br /> ";

echo "תΪ$str_gb2312 <br /> " ;

?>