Speichern von XML in UTF-8 mit MSXML

Ich versuche zu laden, eine einfache Xml-Datei (UTF-8-codiert):

<?xml version="1.0" encoding="UTF-8"?>
<Test/>

Und speichern Sie es mit MSXML in vbscript:

Set xmlDoc = CreateObject("MSXML2.DOMDocument.6.0")

xmlDoc.Load("C:\test.xml")

xmlDoc.Save "C:\test.xml" 

Das problem ist, MSXML speichert die Datei im ANSI statt UTF-8 (trotz der ursprünglichen Datei, die in UTF-8 codiert).

Den MSDN-Dokumentation für MSXML sagt, dass save() wird die Datei schreiben, in welcher Codierung die XML definiert ist:

Zeichenkodierung basiert auf dem encoding-Attribut in der XML-Deklaration, wie . Wenn keine encoding-Attribut angegeben ist, die Voreinstellung ist UTF-8.

Aber das ist eindeutig nicht funktioniert zumindest auf meinem Rechner.

Wie kann MSXML speichern in UTF-8?

Ich sehen nicht das Verhalten, das du meldest. Wenn ich ausführen, dass code, speichert das XML-Dokument in UTF-8. Bekomme ich eine UTF-8-Deklaration, und die eigentlichen strings werden in UTF-8.
Ja, es könnte sehr gut nur meine Maschine (Win2k3) und mein Kollege (Win2k8 64bit) das ist das problem. Es wäre schön, wenn jemand definitiv sagen, warum das Verhalten unterscheidet sich unter den Maschinen.

InformationsquelleAutor stung | 2010-04-07

Schreibe einen Kommentar