代碼如下復制代碼
//將內容進行UNICODE編碼
functionunicode_encode($name)
{
$name= iconv('UTF-8','UCS-2',$name);
$len=strlen($name);
$str=''
for($i= 0;$i<$len- 1;$i=$i+ 2)
{
$c=$name[$i];
$c2=$name[$i+ 1];
if(ord($c) > 0)
{ // 兩個字節的文字
$str.='\u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);
}
else
{
$str.=$c2;
}
}
return$str;
}
$name='MY,你大爺的'
$unicode_name=unicode_encode($name);
echo'
'
// 將UNICODE編碼後的內容進行解碼
functionunicode_decode($name)
{
// 轉換編碼,將Unicode編碼轉換成可以浏覽的utf-8編碼
$pattern='/([\w]+)|(\\\u([\w]{4}))/i'
preg_match_all($pattern,$name,$matches);
if(!empty($matches))
{
$name=''
for($j= 0;$j<count($matches[0]);$j++)
{
$str=$matches[0][$j];
if(strpos($str,'\\u') === 0)
{
$code=base_convert(substr($str, 2, 2), 16, 10);
$code2=base_convert(substr($str, 4), 16, 10);
$c=chr($code).chr($code2);
$c= iconv('UCS-2','UTF-8',$c);
$name.=$c;
}
else
{
$name.=$str;
}
}
}
return$name;
}
echo'MY,\u4f60\u5927\u7237\u7684 -> '.unicode_decode($unicode_name);