我正在使用一个旧软件,需要从类似 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 提示。
最佳答案
在批处理文件的开头,尝试添加以下行:
chcp 65001
这会将代码页设置为 UTF-8。它不会在命令提示符中正确显示,但可能会根据您的打印机正确打印。
有关代码页的更多信息,请参阅 this wiki page或有关 Microsoft 值的完整列表,请参阅 this MSDN article .
关于windows-7 - 无法使用 Windows 命令提示符打印双字节字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18687560/