我们尝试在Windows上使用Java和UTF-8。该应用程序在控制台上写入日志,我们希望对日志使用UTF-8,因为我们的应用程序具有国际化的日志。

可以配置JVM,以便使用-Dfile.encoding=UTF-8作为JVM的参数来生成UTF-8。它工作正常,但Windows控制台上的输出出现乱码。

然后,我们可以将控制台的代码页设置为65001(chcp 65001),但是在这种情况下,.bat文件不起作用。这意味着当我们尝试通过脚本(名为start.bat)启动应用程序时,绝对没有任何 react 。该命令简单返回:

C:\Application> chcp 65001
Activated code page: 65001
C:\Application> start.bat

C:\Application>

但是没有chcp 65001,就没有问题,并且可以启动该应用程序。

有什么暗示吗?

最佳答案

试试chcp 65001 && start.batchcp命令更改代码页,而65001是Windows 7及更高版本下UTF-8的Win32代码页标识符。代码页或字符编码指定如何将Unicode代码点转换为字节序列或再次转换为字节序列。

08-17 01:37