在php和javascript之间传递utf-8字符串
我在将utf-8字符串传递到javascript(ajax)时遇到问题。目前我在PHP端使用在php和javascript之间传递utf-8字符串,php,javascript,utf-8,Php,Javascript,Utf 8,我在将utf-8字符串传递到javascript(ajax)时遇到问题。目前我在PHP端使用rawurlencode,在javascript端使用unescape 问题出在拉丁语中,rawurlencode不完全支持它 有没有其他选择或更好的选择?如果php正在进行编码和js解码,那么什么不仅仅是不在php中编码,也在js中编码?与其说是一个答案,不如说是一个解决办法。在PHP中使用json\u编码,并以json的形式接收响应(jQuery很有用) 默认情况下,ajax是以utf-8格式发送的,
rawurlencode
,在javascript端使用unescape
问题出在拉丁语中,rawurlencode
不完全支持它
有没有其他选择或更好的选择?如果php正在进行编码和js解码,那么什么不仅仅是不在php中编码,也在js中编码?与其说是一个答案,不如说是一个解决办法。在PHP中使用json\u编码,并以json的形式接收响应(jQuery很有用) 默认情况下,ajax是以utf-8格式发送的,因此您只需返回utf-8即可 php的utf8_encode(数据)获取一个ISO-8859-1字符串作为数据参数
需要更多的建议吗?告诉我你从哪里得到文本;) 根据经验,Javascript(ant)对Unicode(UTF-8)不友好。使用和代替 无论如何,正如文件所说: 不应使用escape()函数 用于对URI进行编码
解决方案在
json\u encode
函数中。当我添加了JSON_HEX|JSON_HEX_QUOT
时,问题就停止了
谢谢 我发现了mb_convert_编码函数,但我从未使用过它。我只是对所有数据使用utf8,即使mysql有不同的排序规则,它也可以正常工作。