XHR请求Chrome中的乱码编码,在Safari中运行良好

时间:2013-06-10 10:10:31

标签: javascript google-chrome encoding

以下代码在Chrome中发布“它”,但在Safari中发布“它”。

invocation = new XMLHttpRequest()
invocation.open('POST', 'https://example.herokuapp.com/content/24/nl/123')
invocation.setRequestHeader('Content-Type', 'text/plain; charset=UTF-8');
invocation.send('{"data":"it’s"}')

如何说服Chrome使用UTF-8发布?

1 个答案:

答案 0 :(得分:0)

确保设置响应标题

Content-Type: text/html; charset=UTF-8

也位于https://example.herokuapp.com/content/24/nl/123目标网页上,而不仅仅是在网站上(请求页面)。还要检查任何数据源(包括目标本身)的编码是否为UTF-8。

据我测试,乱码编码只来自路径上的字符集不兼容性

client encoding- client request- server encoding- server data- server response

注意:如果您的网络服务器在PHP上运行,您可以使用header作为响应标头。如果由于某种原因无法设置标头,请使用iconv将您的字符集中的响应转换为UTF-8。