JavaFX 阿拉伯字母根本不显示

问题描述 投票:0回答:1

我有以下 FXML 文件

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
      <TableView layoutX="54.0" layoutY="136.0" prefHeight="200.0" prefWidth="495.0">
        <columns>
          <TableColumn prefWidth="75.0" text="الرصيد" />
          <TableColumn prefWidth="75.0" text="ملاحظات" />
          <TableColumn prefWidth="75.0" text="دائن" />
          <TableColumn prefWidth="75.0" text="مدين" />
          <TableColumn prefWidth="75.0" text="التاريخ" />
        </columns>
      </TableView>
   </children>
</AnchorPane>

如上所述,文件编码为 UTF-8。当我运行我的项目时,它显示如下:

为什么会这样显示?怎么了?仅供参考,我正在使用 MacOS

java macos javafx encoding arabic-support
1个回答
0
投票

问题出在 JDK 版本,而不是 JavaFX 版本或 MacOS 版本。我使用的是 JavaFX 17.0.6 和 JDK 11,这导致了这个问题。当我将 JDK 更新到版本 21 时,它工作得很好,如下所示:

感谢@jewelsea 建议我更新 JDK。

© www.soinside.com 2019 - 2024. All rights reserved.