我正在使用一个旧软件,该软件需要从类似 dos 的命令提示符环境中打印,并且该软件需要将日文字体等双字节字符打印到默认打印机。但是,每次我尝试打印时,字符都会像乱码(mojibake)一样出现,并且无法让日语正确显示在物理纸上。换句话说,如果我打印一个名为 test.txt 的文件,在 test.txt 内容中包含以下内容......
----------------
Hello
日本語です。
English
----------------
像“Hello and English”这样的单字节字符显示得很好,但不是“日本语です”。日文字符将在物理纸上显示为 {*}+{~=。(顺便说一句,我只是在命令提示符中使用了命令“print.exe test.txt”。)
注意我从 MS Word 文档甚至文本文档打印都没有问题。
此外,我使用的是 ESC/P 打印机(Epson GP-710)。同样默认情况下,由于 cmd.exe 默认打印到 LPT1,我将它映射到网络打印机,以便它可以打印到 USB(我很确定这与字体问题没有任何关系),通过如下所示。
1)共享打印机
2)NET USE LPT1: \\(PChostname123)\(printername) /PERSISTENT:YES
我同时使用 Windows 7(64 位)和 Windows Vista,两者都出现同样的问题。我在日本网站上阅读了一些文章,其中指出 Windows 95 dos 有一种解决方法,即在 Config.sys 文件或 autoexec.bat 文件中添加文本,但它似乎不适用于 Windows NT 版本。
由于我现在真的别无选择,只能使用这个旧程序,如果有人知道从 dos/cmd 提示符打印双字节字符,将非常感激。