特殊撇号打破 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的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PHP“回声”中插入带有撇号和其他特殊字符的文本? [复制]