php 中文unicode 互轉

2021-09-06 11:09:17 字數 1684 閱讀 1207

/*

* * $str 原始中文字串

* $encoding 原始字串的編碼,預設gbk

* $prefix 編碼後的字首,預設"&#"

* $postfix 編碼後的字尾,預設";" */

function unicode_encode($str, $encoding = 'gbk', $prefix = '&#', $postfix = ';')

return

$unistr;}

/** * $str unicode編碼後的字串

* $decoding 原始字串的編碼,預設gbk

* $prefix 編碼字串的字首,預設"&#"

* $postfix 編碼字串的字尾,預設";" */

function unicode_decode($unistr, $encoding = 'gbk', $prefix = '&#', $postfix = ';')

$temp = intval($arruni[$i

]);

$unistr .= ($temp

< 256) ? chr(0) . chr($temp) : chr($temp / 256) . chr($temp % 256);

} 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.'

'; //

鍝堝搱注:utf在gbk下顯示的亂碼!可切換瀏覽器的編碼測試

$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.'

'; //

\u60\u98\u62\u21704\u21704\u60\u47\u98\u62

$profix_unistr2 = unicode_decode($prefix_unistr, 'gbk', "\\u", '');

echo

$profix_unistr2.'

'; //

哈哈

php 中文unicode 互轉

str 原始中文字串 encoding 原始字串的編碼,預設gbk prefix 編碼後的字首,預設 postfix 編碼後的字尾,預設 function unicode encode str,encoding gbk prefix postfix return unistr str unicode...

php 中文unicode 互轉

str 原始中文字串 encoding 原始字串的編碼,預設gbk prefix 編碼後的字首,預設 postfix 編碼後的字尾,預設 function unicode encode str,encoding gbk prefix postfix return unistr str unicode...

php中文和unicode互轉

unicode轉中文時可以使用json decode 函式實現。中文轉unicode時需要對字串轉換成ucs 4編碼,再轉成16進製制,再從16進製制轉換成10進製加上 字首來實現中文轉unicode編碼。一 unicode轉中文 php unicode轉中文 functionunicodedeco...