特殊撇号打破 JSON

Posted

技术标签:

【中文标题】特殊撇号打破 JSON【英文标题】:Special apostrophe breaks 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()。 【参考方案1】:

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

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

【讨论】:

以上是关于特殊撇号打破 JSON的主要内容,如果未能解决你的问题,请参考以下文章

需要具有包含特殊转义(撇号)字符的属性的 Css 选择器

如何在 PHP“回声”中插入带有撇号和其他特殊字符的文本? [复制]

如何在 JavaScript 函数中使用单引号(撇号)转义 JSON 值

我正在尝试使用撇号查询客户名称,但它看起来像一个特殊字符?

如何在 PHP 中去除特殊的引号字符?

特殊 ä ö 字符打破 UTF-8 编码