内容类型请求头

4
我正在向REST API发出AJAX调用,并在HTTP POST请求中指定以下标头。
Content-Type    application/json; charset=UTF-8

我的文章内容包含一些日语/汉语字符。

现在我的问题是,我需要使用UTF-8编码对帖子请求的正文进行编码吗,还是浏览器会自动处理编码?


1
请注意,在“Content-Type:”后面需要加上“:”。 - Kornel
1个回答

4
当你的Content-Type头部声明了UTF-8字符集时,你必须以UTF-8编码发送内容。尽管浏览器有时会“猜测”或“修复”编码,但你不应该依赖这一点,因为这是一种非常脆弱的逻辑,经常无法正常工作。如果你的中文/日文内容使用了不同的编码(如Shift-JIS),那么你将需要使用像iconv这样的库来转换文本。或者,你可以在头部声明其他编码,但请注意,你只能使用单一编码来处理所有响应体。将所有内容转换为UTF-8通常是最好的解决方案。

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