当使用特殊字符时,Json编码不起作用

时间:2015-04-30 11:46:52

标签: php json

我正在从视图向php中的控制器发送一些数据。我在发送数据时使用json_encode,另一方面使用json_decode。整个过程工作正常但是当我在数据中使用一些特殊字符(如单引号或双引号)时它会失败并且不会收到任何数据。有什么方法可以解决这个问题吗?我尝试使用序列化和反序列化使用base64编码,它对我有用,但即使只有少量记录它也很慢。

注意:$ data是一个多维数组

  

BASE64_ENCODE(序列化($数据))   反序列化(BASE64_DECODE($数据))

1 个答案:

答案 0 :(得分:0)

如果使用PHP在HTML标记属性中编码json,则还应使用htmlentities函数对html实体进行编码。 发送数据时,您既可以使用javascript解码实体,也可以使用html_entity_decode解析实体,然后就可以解码json。