导航:首页 > 编程语言 > php中文转unicode编码

php中文转unicode编码

发布时间:2024-07-21 07:16:31

A. php 如何将unicode码转换成汉字

$str = '$d=[{"_id":{"$id":"4fda7d42741d727c14000000"},"name":"\u519c\u592b\u5c71\u6cc9","bc":"123456","pic":"d: pic\water.jpg","aid":"232fd4df3"}]
$c=[{"_id":{"$id":"4fdaa7f3741d725816000000"},"bc":"012345678","name":"\u7ef4\u8fbe\u7eb8\u5dfe","cls":{"id":"125","name":"\u65e5\u7528\u54c1"},"std":{"name":"\u5f20\u6570","val":"10"}}]';

$str=preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('UCS-2BE', 'UTF-8', pack('H4', '\\1'))", $str);
echo $str;

乱码的话记得换下浏览器编码。....

B. PHP如何把数组里的中文Unicode转换成Utf-8编码

最简单的:
$str = iconv("gbk", "utf-8//ignore", $str);
或者:
$str = mb_convert_encoding($str, "utf-8", "gbk");

稍微解释一下 //ignore 的意思是转换不了的字符就忽略。建议把这个写上。否则遇到转换不了的字符会报错。gbk替换成你需要转换的编码就可以了。

C. mysql PHP查到的中文是unicode

开发中要做到数据库,网页,服务器程序编码统一,设置一下编码格式即可。

MySQL数据库编码、html页面编码、PHP或html文件本身编码要全部一致。
1、MySQL数据库编码:
建立数据库时指定编码(如gbk_chinese_ci),建立数据表、建立字段、插入数据时不要指定编码,会自动继承数据库的编码。
数据库连接时,也有编码,可以在连接完数据库后,执行mysql_query(‘SET NAMES gbk’);//将gbk换成你的编码,如utf8。
2、html页面的编码,指的是这一行的设置:
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />

3、PHP或html文件本身的编码:
用editplus打开php文件或html文件,另存时,选择的编码,如果数据库和页面编码是gbk,则这儿的编码选择ansi;如果数据库和页面编码是utf-8,则这儿也选择utf-8。

4、Javascript或Flash中传递的数据是utf-8编码:
另外要注意的是,Javascript或Flash中传递的数据是utf-8编码,如果数据库和页面编码是gbk,要进行转码,然后写入数据库。
iconv('utf-8', 'gbk', $content);

5、在PHP程序中,可以加上一行,来指定PHP源程序的编码:
header('Content-type: text/html; charset=gbk');

D. php如何把“你好”字符串转成您好或\u60A8\u597D的字符串

//将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;
}

E. 如何正确运用PHP json_encode函数进行中文转换

在 php 中使用 json_encode() 内置函数(php > 5.2)可以使用得 php 中数据可以与其它语言很好的传递并且使用它。这个函数的功能是卖轮将数值转换成json数据存储格式,但是转换后的中文会变成Unicode编码。x0dx0a[php] view plainprint?x0dx0a'希亚', x0dx0a 'Age'=>20 x0dx0a ); x0dx0a x0dx0a$jsonencode = json_encode($arr); x0dx0aecho $jsonencode; x0dx0a?> x0dx0a程序运行结果如下:x0dx0a[php] view plainprint?x0dx0a{"Name":null,"Age":20} x0dx0ajson_encode 函数中中文被编码成 null 了,Google 了一下,很简单,为了与前端紧密结合中侍信,Json 只支持 utf-8 编码,我认为是前端的 Javascript 也是 utf-8 的原因。x0dx0a[php] view plainprint?x0dx0aiconv('gb2312','utf-8','这里是中文标题'), x0dx0a 'body'=>'abcd...' x0dx0a ); x0dx0a x0dx0aecho json_encode($array); x0dx0a?> x0dx0a这个程序的运行结果为:x0dx0a[php] view plainprint?x0dx0a{"title":"\u8fd9\u91cc\u662f\u4e2d\u6587\u6807\u9898","body":"abcd..."} x0dx0a数组中所有中文在json_encode之后都不见了或者出现\u2353等。解决方法是用urlencode()函数处理以下,在json_encode之前,把所有数组内所有内容都用urlencode()处理一下,然用json_encode()转换成json字符串,最后再用urldecode()将编码过的中文转回来谈前。x0dx0a[php] view plainprint?x0dx0a 1000) { x0dx0a die('possible deep recursion attack'); x0dx0a } x0dx0a foreach ($array as $key => $value) { x0dx0a if (is_array($value)) { x0dx0a arrayRecursive($array[$key], $function, $apply_to_keys_also); x0dx0a } else { x0dx0a $array[$key] = $function($value); x0dx0a } x0dx0a x0dx0a if ($apply_to_keys_also && is_string($key)) { x0dx0a $new_key = $function($key); x0dx0a if ($new_key != $key) { x0dx0a $array[$new_key] = $array[$key]; x0dx0a unset($array[$key]); x0dx0a } x0dx0a } x0dx0a } x0dx0a $recursive_counter--; x0dx0a} x0dx0a x0dx0a/************************************************************** x0dx0a * x0dx0a * 将数组转换为JSON字符串(兼容中文) x0dx0a * @param array $array 要转换的数组 x0dx0a * @return string 转换得到的json字符串 x0dx0a * @access public x0dx0a * x0dx0a *************************************************************/ x0dx0afunction JSON($array) { x0dx0a arrayRecursive($array, 'urlencode', true); x0dx0a $json = json_encode($array); x0dx0a return urldecode($json); x0dx0a} x0dx0a x0dx0a$array = array x0dx0a ( x0dx0a 'Name'=>'希亚', x0dx0a 'Age'=>20 x0dx0a ); x0dx0ax0dx0aecho JSON($array); x0dx0a?> x0dx0a这次成功了,运行结果如下:x0dx0a[php] view plainprint?x0dx0a{"Name":"希亚","Age":"20"}

F. php如何输出中文json格式字符串

php如何输出中文json格式字符串
如何对json格式的字符串进行转换,php提供了两个函数:
json_encode 对变量进行 JSON 编码
json_decode 对 JSON 格式的字符串进行编码

下面看个实例:
$arr = ['a', 'b', 'c'];echo json_encode($arr);

输出为:
["a","b","c"]

但是,当我们在数组中放入中文的时候,就会出现问题:
$arr = [ '世界', '你好',
];echo json_encode($arr);

输出的结果为:
["\u4e16\u754c","\u4f60\u597d"]

这个结果显然不是我们想要的,但是为什么出现这个呢?
因为当我们的值中包含中文时,php对他进行json编码时底层会对中文进行unicode编码,导致结果不可读,那该怎么解决呢?
方法一
可以利用 urlencode 和 urldecode 方法绕过这个转码为 unicode 的过程,先将中文字段进行urlencode,然后json_encode,最后再用urldecode处理结果,便可以正常显示中文。具体代码如下:
$arr = [ '世界', '你好',
];echo urldecode(json_encode(array_map('urlencode', $arr)));

输出结果为:
["世界","你好"]

方法二
自PHP5.4版本,官方就已经给Json新增了一个选项: JSON_UNESCAPED_UNICODE。加上这个选项后,就不会自动把中文编码了。具体代码如下:
$arr = [ '世界', '你好',
];echo json_encode($arr, JSON_UNESCAPED_UNICODE);
["世界","你好"]

看吧,这才是我们想要的结果 :)

G. PHP UNICODE 编码转换

Unicode是一个字符集,Unicode是定长的都为双字节.
这里我们常用的是utf8字符集编码,楼主是说的Unicode转换为UTF-8吧。

/**
* Unicode字符转换成utf8字符
* @param [type] $unicode_str Unicode字符
* @return [type] Utf-8字符
*/
function unicode_to_utf8($unicode_str) {
$utf8_str = '';
$code = intval(hexdec($unicode_str));
//这里注意转换出来的code一定得是整形,这样才会正确的按位操作
$ord_1 = decbin(0xe0 | ($code >> 12));
$ord_2 = decbin(0x80 | (($code >> 6) & 0x3f));
$ord_3 = decbin(0x80 | ($code & 0x3f));
$utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3));
return $utf8_str;
}

阅读全文

与php中文转unicode编码相关的资料

热点内容
app系统中已锁定什么时候 浏览:321
qq在后台显示加密 浏览:176
如何训练算法 浏览:460
ios查看压缩文件 浏览:657
移除的app怎么找回桌面 浏览:855
低级语言编译器 浏览:28
pdf加文本 浏览:205
js用什么加密 浏览:343
androiduc浏览器包名 浏览:378
wemall小程序源码 浏览:426
从零开始学php光盘下载 浏览:669
mac多个php版本 浏览:591
资源动漫压缩包 浏览:901
云服务器如何做路由器 浏览:691
python看后感 浏览:173
下载app为什么显示购买 浏览:789
安卓怎么把资料一键转移到旧苹果 浏览:609
启发式算法matlab 浏览:32
安卓手机怎么和外国人打电话 浏览:28
解套app什么用 浏览:995