当前位置:首页 » 编程语言 » php中文字符串

php中文字符串

发布时间: 2023-08-02 18:30:59

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);
["世界","你好"]

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

⑵ PHP怎么获取字符串长度

PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:

(1)PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节;

(2)中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。



⑶ php如何分割中文字符串

php分割中文字符串,如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。

所以,可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。

具体参考代码如下:

<?php
functionstr_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
if($value>=192&&$value<=223)$split=2;
elseif($value>=224&&$value<=239)$split=3;
elseif($value>=240&&$value<=247)$split=4;
}else{
$split=1;
}
$key=NULL;
for($j=0;$j<$split;$j++,$i++){
$key.=$str[$i];
}
array_push($array,$key);
}
return$array;
}
$string="网络知道www..cn";
$arr1=str_split_utf8($string);
echojoin("%",$arr1);
?>

⑷ PHP 查找中文字符串

在PHP中查找中文字符,有两种方案:

  1. 将PHP保存为与欲查找中文一样的编码,然后使用strpos查找。

  2. 将PHP保存为UTF-8无BOM编码,然后转换字符串编码为UTF-8,再用strpos查找。


第一种方法:

strpos($curl_res,'中文');

第二种方法:

$str=mb_convert_encoding($str,'utf-8','gbk');
mb_strpos($str,'中文');


主意:函数中的中文字符串参数的编码,必须要和PHP文件保存格式的编码一致。

热点内容
怎么写cmd脚本 发布:2025-03-24 07:32:56 浏览:522
微信打卡如何设密码 发布:2025-03-24 07:32:48 浏览:544
在手机上玩我的世界电脑版怎么进服务器 发布:2025-03-24 07:29:11 浏览:806
服务器机房搭建方案 发布:2025-03-24 07:29:07 浏览:199
tampermonkey获取最新脚本 发布:2025-03-24 07:29:06 浏览:782
androidxmpp源码 发布:2025-03-24 07:27:31 浏览:134
齐天大圣什么样的配置能打过 发布:2025-03-24 07:26:11 浏览:887
粒子效果编程 发布:2025-03-24 07:24:49 浏览:157
公司管理数据库 发布:2025-03-24 07:19:15 浏览:667
河南电脑服务器托管云主机 发布:2025-03-24 07:10:36 浏览:471