我正在尝试从 vbs 脚本中读取 xml 文件。 Xml 以 utf-8 编码并具有适当的 header
从 vbs 脚本我使用 microsoft xmldom 解析器读取 xml:
Dim objXMLDoc
Set objXMLDoc = CreateObject( "Microsoft.XMLDOM" )
objXMLDoc.load("vbs_strings.xml")
在 xml 中,我正在尝试使用 &#nnn;
按代码编写字符符号。然后我从 vbscript 中读取这个字符并尝试使用 Asc()
获取它的代码功能。对于某些字符,它工作正常,读取的代码等于编写的代码。但是对于某些字符 Asc()
总是返回代码 63
.会是什么?
例子:
如果xml包含<section>Ã<section>
在脚本中我有 Section
表示此 xml 节点的变量然后代码:
Asc(Section.Text)
将返回值 195,它是 ok
.
如果xml包含<section>n<section>
然后代码:
Asc(Section.Text)
将返回值 110,它是 ok
.
但是如果xml包含<section>‚<section>
或 <section>œ<section>
或 <section>Œ<section>
Asc(Section.Text)
将返回值 63,这肯定不好。
你知道为什么吗?
最佳答案
十进制码位 130、156 和 140 不对应 Unicode 字符集中的任何字符(123-192 未定义)。 Asc 使用的默认字符映射器会将此类错误映射到 ?这是字符 63。这些代码点映射到哪些字符?
我怀疑你想要的代码是:‚
œ
和 Œ
关于xml - 如何从vbs读取utf-8 xml并获得正确的字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2722619/