MSXML を使用して UTF-8 でエンコードされた XML ファイルを読み込もうとしている classc ASP / VBScript に問題があります。ファイルは正しくエンコードされています。他のすべてのツールで確認できます。
構築された XML の例:
<?xml version="1.0" encoding="UTF-8"?>
<itshop>
<Product Name="Backup gewünscht" />
</itshop>
ASPでこれをやろうとすると...
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("input.xml", FOR_READING)
XML = ts.ReadAll
ts.Close
Set ts = nothing
Set fso = Nothing
Set myXML = Server.CreateObject("Msxml2.DOMDocument.4.0")
myXML.loadXML(XML)
Set DocElement = myXML.documentElement
Set ProductNodes = DocElement.selectNodes("//Product")
Response.Write ProductNodes(0).getAttribute("Name")
' ...
...そして名前には特殊文字(具体的にはドイツ語のウムラウト)が含まれているため、ウムラウトの「2バイトコード」のバイトが再エンコードされるため、2つのまったくくだらないナンセンス文字になります。"ü" は "ü" になります - 私の出力では 4 バイトであり、2 つ (正しい UTF-8) または 1 つ (ISO-8859-#) ではありません。
私は何を間違っていますか?MSXML が入力を ISO-8859-# と認識して UTF-8 に変換しようとするのはなぜですか?