我用Java做了一个基本的猜谜游戏。它是西班牙语,所以它有一些重音符号 (á,é) 和一些倒置的感叹号 (¡)。问题是,当我在命令行上运行程序时,它没有显示重音符号,而且读起来很奇怪……有人可以帮我解决这个问题吗?
问问题
1195 次
2 回答
0
命令行根本无法仅通过在 System.out 上打印某些字符来显示它们。也许用简单的 JTextField 或 JLabel 或类似的东西编写输出会更容易,因为 JTextField/JLabel 能够显示当前字体中包含的每个 unicode 字符。
于 2013-08-25T18:33:00.580 回答
0
我知道这是一个老问题,但这可能会回答它,以防将来有人面临同样的问题。
从命令提示符运行程序时,需要将一个选项传递给 JVM:-Dfile.encoding=utf-8
您的命令如下所示:
java -Dfile.encoding=utf-8 <mainClass> <... other args>
如果您无法手动添加此选项,您可以告诉 Windows 从环境变量 JAVA_TOOL_OPTIONS 中自动选择它:
- 赢 + R
- 打开:sysdm.cpl
- 先进的
- 环境变量
- 用户变量;新的...
- 变量名:JAVA_TOOLS_OPTIONS
- 变量值:-Dfile.encoding=UTF-8
- 好的
- 好的
现在,如果您键入:
java <MainClass> <... other args>
Windows 将自行添加编码选项。
于 2020-03-21T21:14:40.343 回答