我在将utf-8字符串传递给javascript(ajax)时遇到问题。目前我在PHP端使用rawurlencode
,在javascript端使用unescape
。
问题在于拉丁语,rawurlencode
不完全支持。
有没有其他选择或更好的选择?
答案 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中编码也是如此?我的猜测并不是一个真正的答案。