使用 XMLHttpRequest 覆盖 XML 文档中不正确声明的文本编码
Override incorrect declared text encoding in XML document using XMLHttpRequest
我们的应用是 。尽管 post 中的解决方法有效(插入 nginx 代理),但我们希望找到一个客户端解决方案,如果有的话。
那么,有没有办法截获 XML 文档并强制将文档解释为 Windows 1251 而不是 UTF-8? XMLHttpRequest 有 "overrideMimeType" 属性,但没有 "overrideEncoding"。
所有这些主要对 IE 很重要,如果遇到一个不可能的字符,IE 将完全无法解析文档。 Chrome 而 Firefox 只显示问号字符,这很好。
如果您最初使用 xhr.responseType="arraybuffer"
读取文件,然后使用您想要的 mime/charset 对其进行 blob,如下所示:
new Blob([ arraybuff ], {type: 'application/xml;charset=windows-1251'})
然后通过 URL.createObjectURL(blob)
为它创建一个 blobURL,最后,xhr that,我认为它会起作用。
这是一个 online test。
我们的应用是
那么,有没有办法截获 XML 文档并强制将文档解释为 Windows 1251 而不是 UTF-8? XMLHttpRequest 有 "overrideMimeType" 属性,但没有 "overrideEncoding"。
所有这些主要对 IE 很重要,如果遇到一个不可能的字符,IE 将完全无法解析文档。 Chrome 而 Firefox 只显示问号字符,这很好。
如果您最初使用 xhr.responseType="arraybuffer"
读取文件,然后使用您想要的 mime/charset 对其进行 blob,如下所示:
new Blob([ arraybuff ], {type: 'application/xml;charset=windows-1251'})
然后通过 URL.createObjectURL(blob)
为它创建一个 blobURL,最后,xhr that,我认为它会起作用。
这是一个 online test。