当前位置: 首页 > 面试题库 >

任何以编码UTF-8而不是Unicode返回PHP`json_encode`的方法吗?

燕照
2023-03-14
问题内容

有什么方法可以json_encode用编码UTF-8而不是Unicode 返回PHP ?

$arr=array('a'=>'á');
echo json_encode($arr);

mb_internal_encoding('UTF-8');$arr=array_map('utf8_encode',$arr);没有解决。

结果: {"a":"\u00e1"}

预期结果:{"a":"á"}


问题答案:

{"a":"\u00e1"}并且{"a":"á"}是编写相同JSON文档的不同方法;JSON解码器将解码Unicode转义。

在php 5.4+中,php
json_encode确实可以JSON_UNESCAPED_UNICODE选择纯输出。在较早的php版本上,您可以推出自己的不对非ASCII字符进行编码的
JSON编码器,或者使用Pear的
JSON编码器并将第349行删除为433。




 类似资料:
  • 问题内容: 有什么方法可以返回UTF-8编码而不是Unicode的PHP 吗? 并没有解决。 结果: 预期结果: 问题答案: 并且是编写相同JSON文档的不同方法;JSON解码器将解码Unicode转义。 在php 5.4+中,php的确可以选择普通输出。在较早的php版本上,您可以推出自己的不对非ASCII字符进行编码的JSON编码器,或者使用Pear的JSON编码器并将第349行删除为433。

  • 问题内容: 如何将带有国际字符的json编码的字符串保存到数据库,然后在浏览器中解析解码的字符串? 问题答案: 这是一个编码问题。看起来在某些时候,数据被表示为ISO-8859-1。 流程的每个部分都需要UTF-8编码。 数据库连接 数据库表 您的PHP文件(如果您在文件中使用特殊字符,如上面的示例所示) 您输出的标题

  • 世界中的字符有许许多多,有英文,中文,韩文等。我们强烈需要一个大大的映射表把世界上的字符映射成计算机可以阅读的二进制数字(字节)。 这样,每个字符都给予一个独一无二的编码,就不会出现写文字的人和阅读文字的人编码不同而出现无法读取的乱码现象了。 于是Unicode就出现了,它是一种所有符号的编码映射。最开始的时候,unicode认为使用两个字节,也就是16位就能包含所有的字符了。 但是非常可惜,两个

  • 问题内容: 观察这个小脚本: PHP为什么将JSON对象变成一个类? 如果不是一个数组,它是那么产生完全相同的结果? 问题答案: 采取在的第二个参数仔细看看在https://secure.php.net/json_decode

  • 问题内容: 当服务器的为时,返回编码错误的数据。 但是,如果我们将内容类型显式指定为,它将返回正确编码的数据。 另外,当我们使用时,它会返回正确编码的数据。 有人注意到过吗?为什么会这样表现? 问题答案: 从请求文档: 发出请求时,请求会根据HTTP标头对响应的编码进行有根据的猜测。访问r.text时,将使用Requests猜测的文本编码。您可以使用r.encoding属性来找出请求所使用的编码,

  • 问题内容: 我试图将iconv指向目录,并且无论当前编码如何,所有文件都将转换为UTF-8 我正在使用此脚本,但是您必须指定要使用的编码。如何使其自动检测当前编码? dir_iconv.sh 终端线 问题答案: 也许您正在寻找: Enca是一位非常幼稚的字符集分析器。它可以检测字符集和文本文件的编码,还可以使用内置转换器或外部库和工具(例如libiconv,librecode或cstocs)将其转