【发布时间】:2015-12-05 01:54:38
【问题描述】:
所以我有一个字符串让我们输入$string = {"name":"Whatever\u2122" } 问题是当我使用函数json_decode($string, true) 时,它会将\u2122 替换为奇怪的字符。我需要它保持像 \u2122,我知道 json 使用 utf-8,但是有什么方法可以避免这种转换?
顺便说一下,\u2122对应TM的符号
【问题讨论】:
所以我有一个字符串让我们输入$string = {"name":"Whatever\u2122" } 问题是当我使用函数json_decode($string, true) 时,它会将\u2122 替换为奇怪的字符。我需要它保持像 \u2122,我知道 json 使用 utf-8,但是有什么方法可以避免这种转换?
顺便说一下,\u2122对应TM的符号
【问题讨论】:
先将单反斜杠替换为双反斜杠,然后解码json字符串,如下:
$string = str_replace("\\", "\\\\", $string);
var_dump(json_decode($string, true));
输出:
array (size=1)
'name' => string 'Whatever\u2122' (length=14)
【讨论】:
$string = str_replace('\', '\\', $string);
Parse error: syntax error, unexpected '\'