在PHP和JavaScript之间传递UTF-8字符串

3

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

问题出现在拉丁字符上,rawurlencode不完全支持它。

是否有其他替代方案或更好的选择?

4个回答

2
解决方案在于使用json_encode函数。当我添加了JSON_HEX_APOS|JSON_HEX_QUOT时,问题停止了。
谢谢!

1

在PHP中使用json_encode并将响应作为JSON接收(jQuery很有帮助) ajax默认以utf-8发送,因此您只需返回utf-8即可

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

需要更多建议吗?告诉我您从哪里获取文本;)


我找到了 mb_convert_encoding 函数 http://www.phpbuilder.com/manual/en/function.mb-convert-encoding.php ,但我从未使用过。我只是将所有数据用 utf8 编码,即使 mysql 有不同的排序规则,它也能正常工作。 - naugtur

1

0
如果PHP进行编码,JS进行解码,为什么不直接在JS中进行编码而不是在PHP中进行编码呢?这并不是一个真正的答案,只是一个变通方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接