Java、UTF-8 和 Windows 控制台

标签 java windows utf-8 console

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

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

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

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

C:\Application>

但是没有chcp 65001,没有问题,可以启动应用。

有什么提示吗?

最佳答案

试试 chcp 65001 && start.bat

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

关于Java、UTF-8 和 Windows 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54952/

相关文章:

C++:将 char * 转换为 wstring

java - 计算数据存储区 Google 应用引擎中的实体数量

java - 我必须选择该复选框两次才能在 jTable 中选中/取消选中

c - C 的 Eclipse : Launch failed no binaries

java - Unix 上的 utf-8 问题

unicode - 是否有一种非启发式的方法来查找字符串的编码(即列表)?

java - Gradle 在自定义任务中设置属性

java - 使用高版本javac编译的jar库

c - 将可执行文件移动到其他位置后,app.exe.manifest 设置将被忽略

python - 如何使用 pip 正确安装软件包而不收到语法错误?