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

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

我尝试在桌面上运行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”,结果相同。

然后我试着在我同事的桌面上运行Demo

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显示

javafx
1个回答
0
投票

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

在你的笔记本电脑和台式电脑上你有GBK character encodingcmd->chcp:GBK)但你的同事的PC使用UTF-8cmd->chcp:UTF-8)。因为您的代码也可能使用GBK编码编写,您的同事的PC会尝试解释UTF-8中的字符,但UTF-8字符空间不会在那里保存子弹符号(如果有任何字符)。

我建议你将你的代码转换为Unicode并使用\u2022(这是子弹的unicode编码)作为符号,而不是添加它键入它或以任何其他方式设置硬编码。

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