この記事では、PHP で漢字を Unicode エンコードに変換するプログラム方法を紹介します。詳しく知りたい人は参考にしてください。
プログラム
コードは次のとおりです |
コードをコピー |
/**
* $str 元の文字列
* $encoding 元の文字列のエンコーディング、デフォルトは GBK
* $prefix エンコードされたプレフィックス、デフォルトは「」
* $postfix エンコードされたサフィックス、デフォルトは ";" です
*/
function unicode_encode($str, $encoding = 'GBK', $prefix = '', $postfix = ';') {
$str = iconv($encoding, 'UCS-2', $str);
$arrstr = str_split($str, 2);
$unistr = '';
for($i = 0, $len = count($arrstr); $i
$dec = hexdec(bin2hex($arrstr[$i]));
$unistr .= $prefix . $postfix;
}
$unistr; を返します
}
/**
* $str Unicode でエンコードされた文字列
* $encoding 元の文字列のエンコーディング、デフォルトは GBK
* $prefix エンコードされた文字列のプレフィックス、デフォルトは「」です
* エンコードされた文字列の $postfix 接尾辞、デフォルトは ";" です
*/
function unicode_decode($unistr, $encoding = 'GBK', $prefix = '', $postfix = ';') {
$arruni =explode($prefix, $unistr);
$unistr = '';
for($i = 1, $len = count($arruni); $i
If (strlen($postfix) > 0) {
$arruni[$i] = substr($arruni[$i], 0, strlen($arruni[$i]) - strlen($postfix));
}
$temp = intval($arruni[$i]);
$unistr .= ($temp
}
return iconv('UCS-2', $encoding, $unistr);
}
|
使用例:
コードは次のとおりです |
コードをコピー |
//GBK文字列テスト
$str = 'はは';
echo $str.' ';
$unistr = unicode_encode($str);
echo $unistr.' '; // 哈哈 ;
$str2 = unicode_decode($unistr);
echo $str2.' ' //はは
//UTF-8 文字列テスト
$utf8_str = iconv('GBK', 'UTF-8', $str);
echo $utf8_str.' '; // ???? 注: GBK では UTF が文字化けしたコードとして表示されます。ブラウザ切り替え可能なコーディングテスト
$utf8_unistr = unicode_encode($utf8_str, 'UTF-8');
echo $utf8_unistr.' ' // 哈哈 ;
$utf8_str2 = unicode_decode($utf8_unistr, 'UTF-8');
echo $utf8_str2.' ' // ???
//その他のサフィックスとプレフィックスのテスト
$prefix_unistr = unicode_encode($str, 'GBK', "u", '');
echo $prefix_unistr.' ' // u60u98u62u21704u21704u60u47u98u62
$profix_unistr2 = unicode_decode($prefix_unistr, 'GBK', "u", '');
echo $profix_unistr2.' ' //はは
|
http://www.bkjia.com/PHPjc/631560.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631560.html技術記事この記事では、PHP で中国語の文字を Unicode エンコードに変換するプログラム方法を紹介します。詳しく知りたい人は参考にしてください。 プログラムコードは以下の通り コードをコピー /** * $str 元の文字列...