Ali*_* HA 0 java string encoding javafx character-encoding
我正在开发一个 JavaFX 应用程序。我需要TreeView使用波斯语以编程方式创建一个节点名称。
问题是我在运行应用程序时看到奇怪的字符。我在网上搜索过同样的问题。我编写了一个函数来根据同一问题的答案进行编码:
public static String getUTF(String encodeString) {
return new String(encodeString.getBytes(StandardCharsets.ISO_8859_1),
StandardCharsets.UTF_8);
}
Run Code Online (Sandbox Code Playgroud)
我用它来转换我的字符串来构建TreeView:
CheckBoxTreeItem<String> userManagement =
new CheckBoxTreeItem<>(GlobalItems.getUTF("???????"));
Run Code Online (Sandbox Code Playgroud)
对于某些字符,此答案无法正常工作:
我仍然得到奇怪的结果。如果我不使用编码,我会得到:
对于硬编码的字符串文字,您需要告诉 javac 编译器使用与 java 源代码相同的编码,比如UTF-8。检查 IDE/构建设置。您可以u型逃避一些波斯语符号,
\u062f为达尔,?。如果转义字符正确通过,则编译器使用错误的编码。
String将始终包含 Unicode,不需要new Strings 需要黑客重新转换。
读取带有文本的文件,需要将这些字节(字节/输入流)转换为指定这些字节编码的java 文本(字符串/读取器)。
| 归档时间: |
|
| 查看次数: |
319 次 |
| 最近记录: |