php中文和unicode互转

Posted 种花家的大老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中文和unicode互转相关的知识,希望对你有一定的参考价值。

     unicode转中文时可以使用json_decode()函数实现。

        中文转unicode时需要对字符串转换成UCS-4编码,再转成16进制,再从16进制转换成10进制加上&#前缀来实现中文转unicode编码。

一、unicode转中文

php
  1. <?php
  2. //unicode转中文
  3. function unicodeDecode($unicode_str){
  4.     $json = ‘{"str":"‘.$unicode_str.‘"}‘;
  5.     $arr = json_decode($json,true);
  6.     if(empty($arr)) return ‘‘;
  7.     return $arr[‘str‘];
  8. }
  9.  
  10. $unicode_str = "u4e2du56fd";
  11. echo unicodeDecode($unicode_str);

二、中文转unicode

php
  1. //中文转unicode
  2. function UnicodeEncode($str){
  3.     //split word
  4.     preg_match_all(‘/./u‘,$str,$matches);
  5.  
  6.     $unicodeStr = "";
  7.     foreach($matches[0] as $m){
  8.         //拼接
  9.         $unicodeStr .= "&#".base_convert(bin2hex(iconv(‘UTF-8‘,"UCS-4",$m)),16,10);
  10.     }
  11.     return $unicodeStr;
  12. }
  13.  
  14. $str = "新浪微博";
  15. echo UnicodeEncode($str);

以上是关于php中文和unicode互转的主要内容,如果未能解决你的问题,请参考以下文章

java 中文与unicode互转

JS 实现 unicode 中文互转

JavaScript 中文与Unicode互转

js字符串编码和unicode编码互转

JS 中文 UTF-8编码互转

Unicode与Ansi互转