【发布时间】:2013-04-30 10:00:53
【问题描述】:
我想在 vb 6 项目中使用打印机(windows 驱动程序)打印日文。
我的项目是日文Windows环境(操作系统原为英文,设置日本地区及相关语言)。
我用Printer object打印一个简单的日文字符串类型如“レジースター”,代码如
Dim s As String
s="レジースター"
Printer.Print s
Printer.EndDoc
但输出结果是一组乱七八糟的代码,如“????OEvƒOEƒ|????[ƒg”
谁可以在日文Windows Envrionment中使用Vb6 Printer Object成功打印出日文,请帮助我。
终于找到钥匙很简单,有点棘手,但我还是不知道为什么。只需将打印机对象的字体设置为“Printer.Font.Charset = 128”(日语为 128)
ATTN:请注意我的情况,我的操作系统是英语,语言和地区设置为日语。
让我困惑的是Windows的默认ANSI。我们知道,Printer.Font.Charset 的默认值为 0,表示 ANSI(如果语言环境是日文则使用 code page 932,如果是英文则使用 Windows-1252)。
我的操作系统是日语(设置为日语,不是纯粹的,最初是英语操作系统),当我尝试用日语编写文件时,它可以显示日语,但是当我使用打印机对象打印时,它确实有 0(ANSI ) .Font.Charset 的值,但实际上它仍然使用原始操作系统代码页,所以它是有线的。而且当我尝试将系统设置为中文和韩文时,两种语言都正常,只有日文有这个问题。
【问题讨论】: