【问题标题】:Special apostrophe breaks JSON特殊撇号打破 JSON
【发布时间】:2013-10-30 16:24:56
【问题描述】:
[7671] => Sleaford Carre’s

是$result中的一个元素

$result=  json_encode($result);
echo $result;
//outputs
"7671":null,

请注意,这不是普通的撇号(单引号)或反引号。 我什至无法在我的键盘上找到它。数据来自 Latin-1 表。

我还注意到,在构建数组时使用 htmlentities 会使字符串从数组中消失。我该怎么办??

【问题讨论】:

  • 您是否尝试过先用 UTF-8 编码所有内容?这将解决许多这样的问题。
  • json_encode() 需要 UTF-8 编码的数据。
  • 我会认真考虑将数据传输到支持现代编码的表中。使用 1990 年代的传统编码只是自找麻烦。
  • 首先尝试将您的字符串编码为 UTF-8。检查这个:php.net/manual/en/function.utf8-encode.php ---(utf8_encode 函数)
  • 正如其他人所说,使用 utf8_encode() 然后 json_encode()。

标签: php json apostrophe latin1


【解决方案1】:

由于没有人真正写过答案,请阅读 cmets:)

正如其他人所说,使用 utf8_encode() 然后 json_encode()。 ——布赖恩

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 2021-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多