gpt4 book ai didi

PHP解码和编码带有unicode字符的json

转载 作者:IT老高 更新时间:2023-10-28 12:49:20 28 4
gpt4 key购买 nike

我有一些 json 需要解码、更改然后编码,而不会弄乱任何字符。

如果我在 json 字符串中有一个 unicode 字符,它将不会解码。我不知道为什么因为 json.org 说一个字符串可以包含:any-Unicode-character-except-"-or-\-or-control-character。但它不起作用 python 。

{"Tag":"Odómetro"}

我可以使用 utf8_encode,这将允许使用 json_decode 对字符串进行解码,但是该字符会被破坏为其他内容。这是来自结果数组的 print_r 的结果。两个字符。

[Tag] => Odómetro

当我再次对数组进行编码时,我将字符转义为 ascii,根据 json 规范,这是正确的:

"Tag"=>"Od\u00f3metro"

有什么方法可以让我摆脱这种情况吗? json_encode 没有提供这样的选项,utf8_encode 似乎也不起作用。

编辑 我看到 json_encode 有一个 unescaped_unicode 选项。但是它没有按预期工作。哦,该死的,它只在 php 5.4 上。我将不得不使用一些正则表达式,因为我只有 5.3。

$json = json_encode($array, JSON_UNESCAPED_UNICODE);
Warning: json_encode() expects parameter 2 to be long, string ...

最佳答案

我找到了以下方法来解决此问题...希望对您有所帮助。

json_encode($data,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);

关于PHP解码和编码带有unicode字符的json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7381900/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com