XML意外字符

我有一个XML文件,我通过连接string与Excelmacros创build。

与代码的连接如下所示:

xmlText = "<?xml version=""1.0"" encoding=""UTF-8""?>" + vbCrLf 

最后创build的文件是这样的代码:

 Dim fso As Object strPath = "C:\" Set fso = CreateObject("ADODB.Stream") fso.Type = 2 'Specify stream type - we want To save text/string data. fso.Charset = "utf-8" 'Specify charset For the source text data. fso.Open ' Write to file fso.WriteText xmlText fso.SaveToFile strPath, 2 Set fso = Nothing 

我面临的问题是,不知何故,有不需要的字符被插入,但我不能在普通的编辑器中看到他们,只有当我用hex编辑器检查。

用一个普通的编辑器,我看到以下内容:

在这里输入图像描述

用HEX编辑器,我看到以下内容:

在这里输入图像说明

正如你在图像中看到的那样,有些字符是我用普通的编辑器看不到的。

我怎样才能摆脱这个意想不到的人物?

我试图通过更改以下代码按照评论中的build议将其更改为UTF16:

 fso.Charset = "utf-16" 

 xmlText = "<?xml version=""1.0"" encoding=""UTF-16""?>" + vbCrLf 

HEX编辑器中的结果如下所示:

在这里输入图像描述

以前似乎还有一些奇怪的人物

我设法使用alj的这个页面的解决scheme对它进行sorting。

我最初认为这个问题正在得到解决,如:

 xmlText = "" xmlText = xmlText & "<?xml version=""1.0"" encoding=""UTF-8""?>" + vbCrLf 

当以hex打开Notepad ++时,我可以看到这些字符消失了,但在closures并重新打开文件后,字符重新出现。

无论如何,删除BOM似乎正在为我工​​作。