在php和javascript之间传递utf-8字符串

时间:2010-02-15 20:50:35

标签: php javascript utf-8

我在将utf-8字符串传递给javascript(ajax)时遇到问题。目前我在PHP端使用rawurlencode,在javascript端使用unescape

问题在于拉丁语,rawurlencode不完全支持。

有没有其他选择或更好的选择?

4 个答案:

答案 0 :(得分:2)

解决方案是json_encode函数。当我添加JSON_HEX_APOS|JSON_HEX_QUOT时,问题就停止了。

谢谢!

答案 1 :(得分:1)

在PHP中使用json_encode并以JSON形式接收响应(jQuery很有帮助) ajax默认以utf-8发送,所以你只需要返回utf-8

php的utf8_encode(data)获取ISO-8859-1字符串作为数据参数。

需要更多建议吗?告诉我你从哪里得到文字;)

答案 2 :(得分:1)

根据经验,Javascript的escape()(蚂蚁因此unescape() Unicode(UTF-8)友好。请改用encodeURIComponent()decodeURIComponent()

无论如何,正如文档所说:

  

不应该使用escape()函数   用于编码URI。

答案 3 :(得分:0)

如果php正在进行编码和js解码whay不仅不在php中编码而且在js中编码也是如此?我的猜测并不是一个真正的答案。