0

以下代码在 Chrome 中发布“it’s”,但在 Safari 中发布“it’s”。

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 发布?

4

1 回答 1

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

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

于 2013-06-10T10:36:51.473 回答