網頁

2013年12月24日

[php] 如何判斷是否為繁體(簡體)中文字(utf-8編碼)

在網路找了很久相關資料,只找到Big5編碼的判斷方式,在此提供utf-8編碼的判斷簡繁體中文字的方式。

程式範例:
<?php
//繁體字
var_dump(isCT("衝"));
var_dump(isCT("亞"));
//簡體字
var_dump(isCT("冲"));
var_dump(isCT("亚"));

function isCT($word)
{
 if (mb_strlen($word, "utf-8") == 1 
&& strlen($word) == 3 
&& mb_convert_encoding($word, "Big5", "UTF-8") != "?"){
  return true;
 }else{
  return false;
 }
}
?>

輸出結果:
bool(true)
bool(true)
bool(false)
bool(false)

注意說明
此方式需要啟動「php_mbstring.dll」函式庫,啟動方式為修改php.ini將「extension=php_mbstring.dll」前面的分號去掉,並重新啟動服務。