如何在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编码一些文本:

  $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)
之后,您可以检查旧字符串和新字符串之间的差异,以便查看是哪个字符导致了这种行为。