Set ts = fso.OpenTextFile("input.xml", FOR_READING, False, True)
Последний параметр - это флаг "Юникод".
OpenTextFile () имеет следующую подпись:
object.OpenTextFile(filename[, iomode[, create[, format]]])
где "формат" определяется как
Дополнительно. Одно из трех значений Tristate, используемых для указания формата
открытый файл. Если опущен, файл
открывается как ASCII.
А Tristate определяется как:
TristateUseDefault -2 Opens the file using the system default.
TristateTrue -1 Opens the file as Unicode.
TristateFalse 0 Opens the file as ASCII.
И -1 оказывается числовым значением True
.
В любом случае, лучше это:
Set myXML = Server.CreateObject("Msxml2.DOMDocument.4.0")
myXML.load("input.xml")
Почему вы должны использовать объект TextStream
для чтения в файле, который MSXML может отлично читать самостоятельно?
Объект TextStream
также не имеет представления о кодировке фактического файла. В документах написано «Unicode», но существует более одного способа кодирования Unicode. Метод load()
объекта MSXML сможет справиться со всеми из них.