UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字符編碼。由Ken Thompson於1992年創建。現在已經標准化為RFC 3629。UTF-8用1到4個字節編碼Unicode字符。用在網頁上可以統一頁面顯示中文簡體繁體及其它語言(如英文,日文,韓文)。
<?php /** *檢查字符串是否是utf8編碼 *@param string $string 被檢測字符串 *@return Boolean */ function isutf8($string){ $c=0;$b=0; $bits=0; $len=strlen($string); //字符串編碼后的字節數 for($i=0;$i<$len;$i++){ $c=ord($string[$i]); //對應的assic編碼,通過編碼后的首字節判斷字符由幾個字節編碼組成 if($c>128){ //1000 0000 if($c>=254) return false; //1111 1110 elseif($c>=252) $bits=6; //1111 1100 elseif($c>=248) $bits=5; //1111 1000 elseif($c>=240) $bits=4; //1111 0000 elseif($c>=224) $bits=3; //1110 0000 elseif($c>=192) $bits=2; //1100 0000 else return false; if(($i+$bits)>$len); return false; while($bits>1){ $i++; $b=ord($string[$i]); if($b<128 || $b>191) return false; //編碼在1000 0000 ---- 1011 1111 合格 $bits--; } } } return true; }