Java linux中.jar文件执行中的菱形问号

Java linux中.jar文件执行中的菱形问号,java,linux,character-encoding,Java,Linux,Character Encoding,我得到一颗带问号的钻石(�) 在Linux中执行.jar文件时。 显示菱形的字符有:ª、º、ñ、ç 我在EclipseIDE中的字符编码设置是ISO-8859-1,因为如果我在Eclipse中将编码设置为UTF-8,那么在Eclipse控制台中也会得到菱形问号 我在Linux(openSuse)中的语言环境配置,当我执行“语言环境”命令时: 我阅读并检查了更多关于这个问题的参考资料,但我不知道如何解决这个问题,有人能帮我吗?问题是,您试图在UTF-8环境中打印ISO-8859-1字符/字节,而该

我得到一颗带问号的钻石(�) 在Linux中执行.jar文件时。 显示菱形的字符有:ª、º、ñ、ç

我在EclipseIDE中的字符编码设置是ISO-8859-1,因为如果我在Eclipse中将编码设置为UTF-8,那么在Eclipse控制台中也会得到菱形问号

我在Linux(openSuse)中的语言环境配置,当我执行“语言环境”命令时:


我阅读并检查了更多关于这个问题的参考资料,但我不知道如何解决这个问题,有人能帮我吗?

问题是,您试图在
UTF-8
环境中打印
ISO-8859-1
字符/字节,而该字节没有映射到
UTF-8
字节序列。如果您将其作为终端输出(终端采用UTF-8编码),则应将ISO-8859-1中的字符/字节更改为UTF-8,例如:UTF 8中的ñ为ñ。UTF-8字符的源。
查看解释为什么使用UTF-8而不是其他编码类型的帖子。

这是unicode替换字符。这意味着您试图在
UTF-8
环境中打印
ISO-8859-1
字符/字节,而字节不映射到
UTF-8
字节序列。如果您将其作为终端输出,则终端可能在
UTF-8
中,而不是
ISO-8859-1
LANG=es_ES.ISO-8859-1
LC_CTYPE="ISO-8859-1"
LC_NUMERIC="ISO-8859-1"
LC_TIME="ISO-8859-1"
LC_COLLATE="ISO-8859-1"
LC_MONETARY="ISO-8859-1"
LC_MESSAGES="ISO-8859-1"
LC_PAPER="ISO-8859-1"
LC_NAME="ISO-8859-1"
LC_ADDRESS="ISO-8859-1"
LC_TELEPHONE="ISO-8859-1"
LC_MEASUREMENT="ISO-8859-1"
LC_IDENTIFICATION="ISO-8859-1"
LC_ALL=ISO-8859-1