Character encoding Angularjs请求编码和错误字符(FF工作正常)

Character encoding Angularjs请求编码和错误字符(FF工作正常),character-encoding,http-headers,xmlhttprequest,angularjs,Character Encoding,Http Headers,Xmlhttprequest,Angularjs,根据浏览器的不同,我对请求的编码有一些问题 下面的转储显示FF和Chrome之间不同的标题(我删除了所有相同的标题)。请参见“搜索”值的表示: Firefox:Ok Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Type: application/json;charset=utf-8 POST: {"data":{"size":10,"search":"Jo

根据浏览器的不同,我对请求的编码有一些问题

下面的转储显示FF和Chrome之间不同的标题(我删除了所有相同的标题)。请参见“搜索”值的表示:

Firefox:Ok

Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8

POST: {"data":{"size":10,"search":"José","order":"name","page":1}}
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost
Content-Type: application/json;charset=UTF-8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es-ES,es;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

POST: {"data":{"size":10,"search":"José","order":"name","page":1}}
铬:不正常

Accept-Language: es-ar,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/json;charset=utf-8

POST: {"data":{"size":10,"search":"José","order":"name","page":1}}
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost
Content-Type: application/json;charset=UTF-8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: es-ES,es;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3

POST: {"data":{"size":10,"search":"José","order":"name","page":1}}
不起作用

我试图强制使用$http中的内容类型,但什么也没有。两个浏览器中的响应都正常工作。我正在使用Apache战胜Win 7“por si las moscas”

重要提示:在发送到服务器之前,请求的格式不正确,我要从Firebug和Chrome inspect中获取上述标题

有什么想法吗?谢谢

何塞

更新

我将url编码到帖子,并在服务器中解码,我注意到使用UTF-8时url解码效果不好,但使用ISO-8859-1时效果很好。然后,浏览器使用ISO-8859-1发送帖子?

根据,当未指定任何内容或不存在
接受字符集
标题时,字符集
ISO-8859-1
为默认值。很可能是其他人把事情弄糟了

尝试取消定义该标题:

$http({
   method: 'POST',
   url: '/page.html',
   headers: { 'Accept-Charset': undefined }
})
.success(function(){ /*success fn here*/  });