JavaFx希腊字符编码

时间:2017-12-17 20:56:52

标签: java eclipse javafx encoding utf-8

我最近在eclipse中创建了一个应用程序。我把它作为一个可运行的罐子出口,除了希腊字母外,所有的工作都很好。当我尝试在我的应用程序中导入带有希腊字符的文件时,它们没有正确显示。我尝试将所有编码更改为UTF-8,但没有运气。我也有希腊菜单的确切应用程序,它也没有正确显示。到目前为止,修复它的唯一方法是创建一个可运行的.bat文件并将其粘贴到其中:

start cmd /k java -Dfile.encoding=UTF-8 -jar Compiler.jar

但这对我没有任何意义,因为我项目中的每个文件和文件夹都使用UTF-8编码。我正在使用Windows 10,最新的eclipse和javafx进行日食。

希腊字母存在于项目内的一些文件中,例如src / grammars / xx-file。应用程序找到它们并毫无问题地读取它们。希腊字母也显示在标签和应用程序的标题上。我使用javafx环境的默认字体。 例如,一个文件包含:I-> #E |ε。当导入程序时,它变为:I-> #E |Ξμ

我还想补充一点,为了从.jar中读取这些文件,我必须使用InputStream。那么可以为InputStream指定编码吗?

1 个答案:

答案 0 :(得分:1)

对于任何有兴趣的人都可以。我找到了问题的解决方案。我添加了一个

InputStreamReader inputReader = new InputStreamReader(streamIn, StandardCharsets.UTF_8);

到我的应用程序尝试读取的每个文件,并通过这样做解决了问题。所以我猜可执行文件.jar文件默认不使用UTF-8编码,我们必须在阅读阶段指定它。