我有一个包含花(智能?)撇号MySQL数据库(utf8_general_ci)字段:Owner’s...
在PHP的json_encode截断之前转义JSON撇号?
这将打印精细,无特殊处理,如果我访问从数据库中拉它的PHP页面。但是,我试图通过另一页上的$ .getJSON请求来访问它,所以我使用了PHP的json_encode。它截断该值,以便它读取Owner
,然后成功编码其余数据。如果我在json_encode之前在字段上使用PHP的utf8_encode,它将包含’
编码为\u0092
的完整值,然后它不会在页面上打印任何内容,并给我Owners
。 PHP的htmlentities
和htmlspecialchars
不起作用。
查看Chrome工具中的请求,Owner’s
在$ .getJSON页面上显示为Owner�s
。
任何人都可以帮助我吗?我已经阅读了关于SO和网络的其他问题,但我找不到任何有用的信息,而且我没有用JSON进行太多的工作。
感谢您的阅读。
'如果我使用PHP的函数utf8_encode在球场上我json_encode之前,它包括与全部价值的“编码为\ u0092'这听起来像这条路看起来不错。你能详细说明这种情况到底失败吗? Chrome的工具看起来如何? – 2013-02-26 19:25:19
我认为你需要为你输出的页面设置编码。另外,您可能需要解码UTF-8。 – crush 2013-02-26 19:40:24
@Pekka:在页面上,“Owner \ 0092s”呈现为“Owners”,在Chrome的Tools中,它看起来像是“Owner \ 0092s”。 @crush,我担心这不是正确转换,因为搜索\ 0092表明它是一个控制字符(?)而不是一个撇号? http://stackoverflow.com/questions/11030851/jquery-parsejson-u0092-character-is-not-parsed – 2013-02-26 19:56:53