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

时间:2018-01-03 09:04:08

标签: java linux character-encoding

在Linux中执行.jar文件时,我收到带问号( )的钻石。 显示钻石的字符是:ª,º,ñ,ç

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

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

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

我阅读并查看了这个问题的更多参考资料,但我不知道如何解决这个问题,任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

问题在于您尝试在ISO-8859-1环境中打印UTF-8个字符/字节,并且该字节未映射到UTF-8字节序列。如果您将其作为终端输出(终端采用UTF-8编码),那么您应该将ISO-8859-1中的字符/字节更改为UTF-8,例如:UTF8中的ñ是ñ。 UTF-8字符here的来源。 请查看this帖子,其中解释了为什么要使用UTF-8而不是其他编码类型。