Java 9 国际化方面的增强有哪些?
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转义序列表示。
- 其他编码值会忽略此系统属性。
如果出现问题,可以考虑以下选项:
- 将属性文件转换为UTF-8 编码。
- 指定运行时系统属性。
java.util.PropertyResourceBundle.encoding=ISO-8859-1
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP