1

我用Java做了一个基本的猜谜游戏。它是西班牙语,所以它有一些重音符号 (á,é) 和一些倒置的感叹号 (¡)。问题是,当我在命令行上运行程序时,它没有显示重音符号,而且读起来很奇怪……有人可以帮我解决这个问题吗?

4

2 回答 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 中自动选择它:

  1. 赢 + R
  2. 打开:sysdm.cpl
  3. 先进的
  4. 环境变量
  5. 用户变量;新的...
  6. 变量名:JAVA_TOOLS_OPTIONS
  7. 变量值:-Dfile.encoding=UTF-8
  8. 好的
  9. 好的

现在,如果您键入:

java <MainClass> <... other args>

Windows 将自行添加编码选项。

于 2020-03-21T21:14:40.343 回答