今天使PHP开发用到了Unicode的编码与解码,将unicode转为中文,再将中文转Unicode这样的操作是非常常见的,所以小编将这两个unicode中文互转函数给作为一个笔记保存起来,非常的简单,会用就行了。
1:下面来看PHP Unicode编码方法,将中文转为Unicode字符,例如将新浪微博转换为unicode字符串,代码如下:
function UnicodeEncode($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; } $str = "新浪微博"; echo UnicodeEncode($str);
Unicode编码输出字符串:“\u65b0\u6d6a\u5fae\u535a”
2:unicode解码方法,将上面的unicode字符转换成中文,代码如下:
function unicodeDecode($unicode_str){ $json = '{"str":"'.$unicode_str.'"}'; $arr = json_decode($json,true); if(empty($arr)) return ''; return $arr['str']; } $unicode_str = "\u65b0\u6d6a\u5fae\u535a"; echo unicodeDecode($unicode_str);