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