如何在json编码中使用特殊字符?
我正在用json编码一些文本:如何在json编码中使用特殊字符?,json,special-characters,Json,Special Characters,我正在用json编码一些文本: $json = array('result' => '',); $json['result'].='My name is Roger'; echo json_encode($json); 我的输出是我的名字是罗杰 但是当我写作的时候 $json = array('result' => '',); $json['result'].='test {#[^[*]+|€~!,<€¥<=?"{*\>Ö.ßäülenwj t
$json = array('result' => '',);
$json['result'].='My name is Roger';
echo json_encode($json);
我的输出是我的名字是罗杰
但是当我写作的时候
$json = array('result' => '',);
$json['result'].='test {#[^[*]+|€~!,<€¥<=?"{*\>Ö.ßäülenwj test ';
echo json_encode($json);
$json=array('result'=>'',);
$json['result'].='test{{#[^[*]+|€~!,可能您的文件是ISO-8859-1/15编码的。json_编码仅适用于utf8字符集
在您的测试场景中,您可以将整个文件转换为utf8,我认为您将得到正确的响应
否则,您需要使用utf8_编码(“iso_字符串”)将字符串转换为utf8
希望这有帮助
Grtngs
Dustin我还检查了textwrangler中的文件编码,并将其设置为unicode(UTF-8)
我测试了utf8_编码(“iso_字符串”);
,但不幸的是仍然没有结果,可能您可以在将字符串编码为json之前尝试此操作:$s=iconv('UTF-8',UTF-8//IGNORE',s)
之后,您可以检查旧字符串和新字符串之间的差异,以便查看是哪个字符导致了这种行为。