2
所以我有一个字符串让我们把$string = {"name":"Whatever\u2122" }
事情是,当我使用函数json_decode($string, true)
它将\ u2122替换为怪异的字符。我需要它保持像\ u2122,我知道json使用utf-8,但有什么办法可以避免这种转换?json_decode()php管理特殊字符TM符号
顺便提一下,\ u2122对应于TM的符号
所以我有一个字符串让我们把$string = {"name":"Whatever\u2122" }
事情是,当我使用函数json_decode($string, true)
它将\ u2122替换为怪异的字符。我需要它保持像\ u2122,我知道json使用utf-8,但有什么办法可以避免这种转换?json_decode()php管理特殊字符TM符号
顺便提一下,\ u2122对应于TM的符号
先用双反斜杠替换单个反斜线,然后解码JSON字符串,像这样:
$string = str_replace("\\", "\\\\", $string);
var_dump(json_decode($string, true));
输出:
array (size=1)
'name' => string 'Whatever\u2122' (length=14)
为什么不使用单引号避免写太多反斜杠? –
@AlvaroFlañoLarrondo单引号有什么区别吗?我没有测试它。 –
使用单引号没有必要扫描每个反斜杠,所以是的,你可以写'$ string = str_replace(''','\\',$ string);' –