unicode轉中文時可以使用json_decode()函數實現。
中文轉unicode時需要對字符串轉換成UCS-4編碼,再轉成16進制,再從16進制轉換成10進制加上&#前綴來實現中文轉unicode編碼。
一、unicode轉中文
php
- <?php
- //unicode轉中文
- function unicodeDecode($unicode_str){
- $json = '{"str":"'.$unicode_str.'"}';
- $arr = json_decode($json,true);
- if(empty($arr)) return '';
- return $arr['str'];
- }
- $unicode_str = "\u4e2d\u56fd";
- echo unicodeDecode($unicode_str);
二、中文轉unicode
php
- //中文轉unicode
- function UnicodeEncode($str){
- //split word
- preg_match_all('/./u',$str,$matches);
- $unicodeStr = "";
- foreach($matches[0] as $m){
- //拼接
- $unicodeStr .= "&#".base_convert(bin2hex(iconv('UTF-8',"UCS-4",$m)),16,10);
- }
- return $unicodeStr;
- }
- $str = "新浪微博";
- echo UnicodeEncode($str);