PHP 解码和编码 json 与 unicode 字符
我有一些json需要解码,更改,然后编码而不会弄乱任何字符。
如果我在json字符串中有一个unicode字符,它不会解码。我不知道为什么,因为 json.org 说字符串可以包含:.但它在python中也不起作用。any-Unicode-character- except-"-or-\-or- control-character
{"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 ...