gb2312 和 unicode 間的編碼轉換
下面的例子是將 gb2312 轉換為 "全"這種形式
php4.3.1以后的iconv函數很好用的,只是需要自己寫一個uft8到unicode的轉換函數
查表(gb2312.txt)也行。
| <? $text = "電子書庫"; preg_match_all("/[/x80-/xff]?./",$text,$ar); foreach($ar[0] as $v) echo "&#".utf8_unicode(iconv("GB2312","UTF-8",$v)).";"; ?> <? // utf8 -> unicode function utf8_unicode($c) { switch(strlen($c)) { case 1: return ord($c); case 2: $n = (ord($c[0]) & 0x3f) << 6; $n = ord($c[1]) & 0x3f; return $n; case 3: $n = (ord($c[0]) & 0x1f) << 12; $n = (ord($c[1]) & 0x3f) << 6; $n = ord($c[2]) & 0x3f; return $n; case 4: $n = (ord($c[0]) & 0x0f) << 18; $n = (ord($c[1]) & 0x3f) << 12; $n = (ord($c[2]) & 0x3f) << 6; $n = ord($c[3]) & 0x3f; return $n; } } ?> |
下面的例子是利用php將"全"這中編碼轉換為gb2312.
| <?php eval($str); function u2utf82gb($c){ |
或者是
| function unescape($str) { $str = "TTL全天候自動聚焦"; |
新聞熱點
疑難解答