Java 9 中的国际化增强功能有哪些?

javaobject oriented programmingprogramming更新于 2025/8/30 18:52:17

Java 9 中的国际化增强功能包括 Unicode 8.0、UTF-8 属性文件以及默认启用 CLDR 语言环境数据。Java 9 最多支持 Unicode 8.0 标准,包含 10,555 个字符、29 个脚本和 42 个块。

在 Java 9 中,属性文件以UTF-8 编码加载。默认情况下,读取输入流会抛出 MalformedInputException 或 UnmappableCharacterException。在这种情况下,PropertyResourceBundle 实例重置为异常发生之前的状态,重新读取 ISO-8859-1 中的输入流,并继续读取。

如果 PropertyResourceBundle.encoding 已设置为 ISO-8859-1 或 UTF-8,则 PropertyResourceBundle 实例以该编码读取输入流,如果遇到无效序列则抛出异常。初始化 PropertyResourceBundle 类时读取并评估系统属性,然后更改或删除该属性的任何操作均无效。

如果我们指定 ISO-8859-1:

  • 无法以 ISO-8859-1 编码表示的字符必须以 Unicode转义 表示。
  • 其他编码值已忽略此系统的属性。

如果有问题,我们可以考虑以下选项:

  • 将 properties 文件 转换为 UTF-8 编码。
  • 指定运行时系统属性。
java.util.PropertyResourceBundle.encoding=ISO-8859-1

相关文章


有用资源