0

我们的应用程序正在从具有不正确 XML 标头的源接收数据。尽管该帖子中的解决方法有效(插入 nginx 代理),但我们希望找到一个客户端解决方案,如果有的话。

那么,有没有办法拦截 XML 文档并强制将文档解释为 Windows 1251 而不是 UTF-8?XMLHttpRequest具有“overrideMimeType”属性,但没有“overrideEncoding”。

所有这些对 IE 来说都很重要,如果它遇到一个不可能的字符,它就完全无法解析文档。Chrome 和 Firefox 只显示问号字符,这很好。

4

1 回答 1

1

如果您最初使用 读取文件xhr.responseType="arraybuffer",则使用所需的 mime/charset 对其进行 blob,如下所示:

new Blob([ arraybuff ], {type: 'application/xml;charset=windows-1251'}) 

然后通过 为它创建一个 blobURL URL.createObjectURL(blob),最后是 xhr that,我认为它会起作用。

这是一个在线测试

于 2015-05-05T05:58:27.593 回答