none
请问vbs如何保存xml为utf8编码? RRS feed

  • 问题

  • 代码如下:
    Dim doc
    Set doc = CreateObject("Microsoft.XMLDOM")
    doc.load("C:\AppConfig.xml")
    doc.save("C:\AppConfig.xml")
    原xml文件是utf8编码,但经vbs保存后就变成ANSI,尝试过用doc.createProcessingInstruction写utf8的申明,但申明虽然是utf8了,但xml文件还是以ANSI编码(希望不要讨论ANSI是不是一种编码)保存。

    求帮助,非常感谢。
    2014年8月11日 14:16

答案

全部回复

  • 想起以前修改记事本默认模板为 UTF-8 的方法,不知对你的 VBS 生成 .XML 有没有用。

    就是先建立一个空白的 .XML 文件,另存为 UTF-8,然后放在 ShellNew 里做模板。接着修改 HKEY_CLASSES_ROOT\.XML\ShellNew,指定 FileName 为那个模板文件。


    Alexis Zhang

    http://mvp.support.microsoft.com/profile/jie
    http://blogs.itecn.net/blogs/alexis

    推荐以 NNTP Bridge 桥接新闻组方式访问论坛。

    本帖是回复帖,原帖作者是楼上的 <ahdung_AI>;

    | 原xml文件是utf8编码,但经vbs保存后就变成ANSI,尝试过用doc.createProcessingInstruction写utf8的申明,但申明虽然是utf8了,但xml文件还是以ANSI编码(希望不要讨论ANSI是不是一种编码)保存。

    2014年8月11日 23:49
    版主
  • 这招略猥琐,不适宜用在安装包脚本中,whatever~还是学了一招,感谢Alexis。
    • 已标记为答案 ahdung_AI 2014年8月12日 3:21
    2014年8月12日 2:02
  • 问题已解决,有需要的朋友请联系我。ahdung@qq.com
    2014年8月12日 3:21