PHP が常に厄介な HSCCS 問題を常にサポートしていることを知って非常にイライラしました。ただし名前はHK-SCSではなくBIG5-HKSCSです。
HK の補助文字セットの解決策は次のとおりです:
HTML ページを UTF-8 に設定します。
データベースに書き込む前に: iconv('big5-hkscs','utf8', $string)
UNICODE に変換する必要がある場合は、次の関数を使用します。
function String2Unicode($data, $ language)
{
$data = nl2br(trim($data)); data = str_replace('< ;br />',chr(13),$data);
$str = ''
preg_match_all("/[x80-xff]?./"; ,$ar);
デバッグ($ar);
foreach($ar[0] as $v)
{
if($v != '' && $v!=chr( 13))
{
$str .= "".utf82unicode(iconv($ language,"UTF-8",$v)).";";
}else {
$str .=$v ;
}
}
return $str;
}
関数 utf82unicode($c) {
switch(strlen($c)) {
ケース 1:
return ord($c);
ケース 2:
$n = (ord($c[0]) & 0x3f)
$n = ord($c[1 ]) & 0x3f;
return $n;
$n = (ord($c[0]) & 0x1f) $n = (ord ($c[1]) & 0x3f)
$n = ord($c[2]) & 0x3f;
の場合4:
$n = (ord($c[0]) & 0x0f)
$n = (ord($c[1]) < $n = (ord($c[2]) & 0x3f)
$n = ord($c[3]) & 0x3f;
> }
}