【问题标题】:JavaFX TextField input support for non english language非英语语言的 JavaFX TextField 输入支持
【发布时间】:2015-08-03 13:08:54
【问题描述】:

我正在使用 javafx 构建一个管理应用程序。在 UI 中,我有 Textfileds 来插入用户数据(非英文字符),但是当我使用 getText 方法时,对于像“מזדה”这样的输入,我得到的只是“????”而不是输入本身。

有人知道如何解决这个问题吗?我正在使用 jdk 1.8。

搜索类似的查询没有找到任何解决方案。

【问题讨论】:

  • 将您插入的示例文本发布到文本字段。
  • 如果我将插入到文本字段 -> מזדה 然后我会得到 -> ????
  • 这对我来说很好。你如何检查getText() 的结果是什么?
  • 最终数据被推送到数据库,所以我可以看到值显示为“????”插入实际输入
  • 问题可能出在您的数据库(或您用来查看数据库内容的任何东西)上。试试System.out.println(textField.getText())如果您的控制台可以处理非拉丁字符,它将在控制台中显示文本。或者尝试textField.getText().chars().forEach(System.out::println);,它将显示每个字符的(十进制)Unicode 值。对于您的示例文本,我得到值 1502149414911492

标签: java character-encoding uitextfield java-8 javafx-8


【解决方案1】:

好的,经过一些额外的挖掘,我发现问题是我在注册jdbc驱动时没有设置字符编码。

最终字符串 DB_URL = "jdbc:mysql://127.0.0.1/amircar**?characterEncoding=utf8";**

希望对某人有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2019-07-10
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    相关资源
    最近更新 更多