内容类型请求标头

时间:2011-11-23 09:30:01

标签: http-headers

我正在对其他API进行ajax调用,并将以下标头指定为http post请求。

Content-Type    application/json; charset=UTF-8

我的帖子正文包含一些日文/中文字符。

现在我的问题是,我是否需要使用UTF-8编码对post请求的主体进行编码,或者浏览器负责编码?

1 个答案:

答案 0 :(得分:4)

当您的Content-Type标头声明UTF-8字符集时,您必须以UTF-8编码发送内容。

虽然浏览器有时会“猜测”或“修复”编码,但你永远不应该依赖它,因为这是一个非常脆弱的逻辑,往往无法正常工作。

如果您的中文/日文内容使用不同的编码(如Shift-JIS),则必须使用iconv等库来转换文本。

或者,您可以在标头中声明其他编码,但请注意,您只能对所有响应正文使用单个编码。将所有内容转换为UTF-8通常是最佳解决方案。