我遇到了传递utf-8字符串到javascript(ajax)的问题。目前我在PHP端使用rawurlencode
,在javascript端使用unescape
。
问题出现在拉丁字符上,rawurlencode
不完全支持它。
是否有其他替代方案或更好的选择?
我遇到了传递utf-8字符串到javascript(ajax)的问题。目前我在PHP端使用rawurlencode
,在javascript端使用unescape
。
问题出现在拉丁字符上,rawurlencode
不完全支持它。
是否有其他替代方案或更好的选择?
json_encode
函数。当我添加了JSON_HEX_APOS|JSON_HEX_QUOT
时,问题停止了。在PHP中使用json_encode并将响应作为JSON接收(jQuery很有帮助) ajax默认以utf-8发送,因此您只需返回utf-8即可
php的utf8_encode(data)将ISO-8859-1字符串作为数据参数。
需要更多建议吗?告诉我您从哪里获取文本;)
从经验来看,Javascript的escape()(以及unescape())不太友好于Unicode(UTF-8)。建议使用encodeURIComponent()和decodeURIComponent()。
无论如何,正如文档所说:
不应使用escape()函数对URI进行编码。