JavaFx 希腊字符编码

标签 java eclipse javafx encoding utf-8

我最近在 eclipse 中创建了一个应用程序。我将其导出为可运行的 jar ,并且除了希腊字母之外,所有英语都工作正常。当我尝试在应用程序中导入带有希腊字符的文件时,它们无法正确显示。我尝试将所有编码更改为 UTF-8 但没有成功。我也有带有希腊菜单的确切应用程序,但它也没有正确显示。到目前为止解决这个问题的唯一方法是创建一个可运行的 .bat 文件并将其粘贴到其中:

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

但这对我来说没有任何意义,因为我的项目中的每个文件和文件夹都使用 UTF-8 编码。我正在使用 Windows 10、最新的 Eclipse 和 javafx for Eclipse。

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

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

最佳答案

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

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

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

关于JavaFx 希腊字符编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47859380/

相关文章:

java - 如何防止我的 JFrame 卡住?

java - 抽屉式导航从第一项开始

eclipse - Hadoop WordCount 示例 - 在 Hadoop 上运行 (Eclipse) 选项不提示选择 Hadoop 服务器在窗口上运行

java - (如何).setOnMouseClicked 覆盖以前的事件并返回到旧事件?

css - JavaFX 具有对所有元素(scoll Pane 、文本区域等)透明的滚动条

JavaFX 用更少的代码检测按钮点击

java - 哪里可以获得缺失的资源?

java - JPanel观察者

java - 子剪辑:无法生成 DH key 对

c++ - 错误,符号 'vector' 无法解析