6

中国語であることが知られており、UTF-8 でエンコードされたテキスト ブロックが与えられた場合、それが簡体字か繁体字かを判断する方法はありますか?

4

2 に答える 2

4

これが機能するかどうかはわかりませんが、iconv を使用して、文字セット間で正しく変換されるかどうかを確認し、//TRANSLIT と //IGNORE を使用して同じ変換の結果を比較してみます。2 つの結果が一致する場合、文字セット変換で変換に失敗する文字は検出されていないため、一致するはずです。

$test1 = iconv("UTF-8", "big5//TRANSLIT", $text);
$test2 = iconv("UTF-8", "big5//IGNORE", $text);
if ($test1 == $test2) {
   echo 'traditional';
} else {
   $test3 = iconv("UTF-8", "gb2312//TRANSLIT", $text);
   $test4 = iconv("UTF-8", "gb2312//IGNORE", $text);
   if ($test3 == $test4) {
      echo 'simplified';
   } else {
      echo 'Failed to match either traditional or simplified';
   }
}
于 2010-11-03T00:07:55.290 に答える