PHP の反中国語文字から Unicode エンコードへの実装プログラム_PHP チュートリアル

WBOY
リリース: 2016-07-13 16:57:14
オリジナル
1097 人が閲覧しました

この記事では、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.'
' //はは

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631560.html技術記事この記事では、PHP で中国語の文字を Unicode エンコードに変換するプログラム方法を紹介します。詳しく知りたい人は参考にしてください。 プログラムコードは以下の通り コードをコピー /** * $str 元の文字列...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート