我正在向REST API发出AJAX调用,并在HTTP POST请求中指定以下标头。
Content-Type application/json; charset=UTF-8
我的文章内容包含一些日语/汉语字符。
现在我的问题是,我需要使用UTF-8编码对帖子请求的正文进行编码吗,还是浏览器会自动处理编码?
Content-Type application/json; charset=UTF-8
我的文章内容包含一些日语/汉语字符。
现在我的问题是,我需要使用UTF-8编码对帖子请求的正文进行编码吗,还是浏览器会自动处理编码?
Content-Type
头部声明了UTF-8字符集时,你必须以UTF-8编码发送内容。尽管浏览器有时会“猜测”或“修复”编码,但你不应该依赖这一点,因为这是一种非常脆弱的逻辑,经常无法正常工作。如果你的中文/日文内容使用了不同的编码(如Shift-JIS),那么你将需要使用像iconv
这样的库来转换文本。或者,你可以在头部声明其他编码,但请注意,你只能使用单一编码来处理所有响应体。将所有内容转换为UTF-8通常是最好的解决方案。