JavaFX PasswordField echo char在不同的计算机上不同

时间:2018-11-19 05:12:26

标签: javafx

我尝试在桌面上运行javafx密码字段演示

环境:

win7 64   cmd->chcp:GBK
java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

jdk版本切换到“ 1.8.0_191”和“ 1.8.0_131”,结果相同。

然后我尝试在同事的桌面上运行演示

win7 64   cmd->chcp:UTF-8
java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

但是在我的笔记本上

win8 64   cmd->chcp:GBK
java -version
java version "1.8.0_191"/"1.8.0_161"/"1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

通常以BULLET

显示

1 个答案:

答案 0 :(得分:0)

您的版本中的第一行打印出的问题很明显: cmd->chcp:GBKcmd->chcp:UTF-8

在笔记本电脑和台式机上,您拥有GBK character encodingcmd->chcp:GBK),而您同事的PC使用了UTF-8cmd->chcp:UTF-8)。因此,由于您的代码也可能使用GBK编码编写,因此您同事的PC试图解释UTF-8中的字符,但UTF-8字符空间中根本没有保留项目符号(如果有的话)。

我建议您将代码转换为Unicode,并使用\u2022(这是项目符号的unicode编码)作为符号,而不要添加它来键入或以任何其他方式对其进行硬编码。 / p>