[PHP]如何判斷UTF-8的中文字

有關網頁及相關語法的討論
回覆文章
頭像
tim
文章: 1380
註冊時間: 2008年 11月 26日, 00:49

[PHP]如何判斷UTF-8的中文字

文章 tim »

轉貼自: http://203.68.102.46/online_book/conten ... ter_sn=172

代碼: 選擇全部

//判斷字串是否為utf8 
function  is_utf8($str)  { 
    $i=0; 
    $len  =  strlen($str); 
 
    for($i=0;$i<$len;$i++)  { 
        $sbit  =  ord(substr($str,$i,1)); 
        if($sbit  <  128)  { 
            //本字節為英文字符,不與理會 
        }elseif($sbit  >  191  &&  $sbit  <  224)  { 
            //第一字節為落於192~223的utf8的中文字(表示該中文為由2個字節所組成utf8中文字),找下一個中文字 
            $i++; 
        }elseif($sbit  >  223  &&  $sbit  <  240)  { 
            //第一字節為落於223~239的utf8的中文字(表示該中文為由3個字節所組成的utf8中文字),找下一個中文字 
            $i+=2; 
        }elseif($sbit  >  239  &&  $sbit  <  248)  { 
            //第一字節為落於240~247的utf8的中文字(表示該中文為由4個字節所組成的utf8中文字),找下一個中文字 
            $i+=3; 
        }else{ 
            //第一字節為非的utf8的中文字 
            return  0; 
        } 
    } 
    //檢查完整個字串都沒問體,代表這個字串是utf8中文字 
    return  1; 
} 
UTF-8 編碼:
13_21.gif
13_21.gif (3.12 KiB) 已瀏覽 2374 次
多多留言, 整理文章, 把經驗累積下來.....
回覆文章