VBScript:以UTF-8打印所有字符

时间:2012-10-16 14:40:57

标签: utf-8 vbscript

我正在编写一个简单的脚本来构建一个HTML页面,以检查UTF-8中的所有字符是否正确呈现:

Dim oStream : Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.CharSet = "utf-8"

' Code writing out the top HTML snipped for brevity

Dim iChar
For iChar = 32 to 255
    oStream.WriteText iChar & " = " & Chr(iChar) & "<br/>" & VbCrLf
Next

' Code writing out the bottom HTML snipped for brevity

oStream.SaveToFile "page.html", 2
Set oStream = Nothing

这很好用,直到我尝试打印超过255的字符,在这种情况下我收到错误:无效的过程调用或参数:'Chr'(800A0005)

有人可以解释我如何打印UTF-8字符集中的所有字符吗?

该测试旨在查看原始字符的呈现方式 - 因此在其中包含&#256;的文件将不正确,因为它需要使用macron(Â)打印实际的拉丁大写字母A.

1 个答案:

答案 0 :(得分:3)

您需要ChrW()变体;

  

ChrW是为使用Unicode字符的32位平台提供的。   它的参数是一个Unicode(宽)字符代码,从而避免了   从ANSI转换为Unicode。