读取和解析unicode json数据在IE和FF中不起作用

我想从另一个域(CORS)读取json数据文件。 此文件包含Unicode数据,如:

{"id":21,"name":"پرسپولیس تهران"} 

我使用了像这样的JQuery Ajax函数:

 $.ajax({ type: "GET", cache: false, url: SDomain + 'XML/TeamXMLCache/' + filename + '.json', dataType: "json", contentType: 'application/json; charset=UTF-8', success: parseXml, error: function (request, status, errorThrown) { console.log(request); console.log(status); console.log(errorThrown); } }); 

这在Chrome 39中工作得很好,但在IE11和FF32中无效。

在IE中我得到parsererror错误。

欲获得更多信息:

  • responseText是: {"id":21,"name":"~13~HD3 *G1'F"}
  • readyState的:4
  • 状态文本: “OK”
  • 状态:200

最后我的配置文件是:

           

那么请告诉我为什么? 我不是初学者!

真实样本是: 我的真实样本

当我加载http://static.persiangulfcup.org/XML/TeamXMLCache/21-%D9%BE%D8%B1%D8%B3%D9%BE%D9%88%D9%84%DB%8C%D8% B3-%D8%AA%D9%87%D8%B1%D8%A7%D9%86.json?_ = 1417448329770 Firefox在浏览器窗口中显示JSON正常,但在文档信息中指出编码为UTF -16LE而不是你post中指出的UTF-8。 基于此,我认为您需要确保数据是正确的UTF-8编码,或者您需要确保它提供了指示实际编码的内容类型标头。

感谢@Martin的正确答案。

问题是我创建我的json文件。 我使用System.Text.Encoding.Unicode而不是System.Text.Encoding.UTF8来保存我服务器中的json文件。

但我的新问题是你如何理解我的文件是UTF-16LE格式? 请发布作为答案然后我可以将其标记为正确答案。