内容类型的请求标头
问题描述:
我正在对一个rest API进行一次ajax调用,并指定了一个http post请求的以下标头。内容类型的请求标头
Content-Type application/json; charset=UTF-8
我的帖子正文包含一些日文/中文字符。
现在我的问题是,我需要编码的UTF-8编码后的请求正文或浏览器负责编码?
答
当您的Content-Type
标头声明UTF-8字符集时,那么您的必须以UTF-8编码发送内容。
尽管浏览器有时会“猜测”或“修复”编码,但您绝不应该依赖这一点,因为这是一种非常脆弱的逻辑,经常无法正常工作。
如果您的中文/日文内容使用不同的编码方式(如Shift-JIS),那么您将不得不使用库转换文本,如iconv
。
另外,您也可以在头文件中声明其他编码,但请注意,对于所有响应正文,只能使用单一编码。将所有内容转换为UTF-8通常是最好的解决方案。
请注意':'Content-Type之后需要:'' – Kornel