c – 使用MSXML6无法加载带有UTF-8 BOM标记的XML文件
作者:互联网
我有一个XML文件,开头有UTF-8 BOM标记(EF BB BF).
它还包含编码为<?xml version =“1.0”encoding =“UTF-8”?>.
我试图使用IXMLDOMDocument :: LoadXML加载此XML文件,无法加载此文档.如果我删除BOM标记,它可以完美地工作.
我的问题是在这种情况下使用BOM标记是错误的还是MSXML的错误(确切地说是MSXML6)?
解决方法:
IXMLDOMDocument::loadXML
方法需要BSTR,它是UTF-16编码的.有关该问题的讨论,请参见this page.
我建议改用IXMLDOMDocument::load
,它有各种不需要UTF-16的重载.
标签:c,unicode,utf-8,msxml 来源: https://codeday.me/bug/20190902/1790551.html