การทำให้เป็นสากล การปรับปรุงใน 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 การเข้ารหัสได้ตั้งค่าเป็น ISO-8859-1 หรือ UTF-8 จากนั้น PropertyResourceBundle อินสแตนซ์อ่านอินพุตสตรีมในการเข้ารหัสนั้น และโยนข้อยกเว้นหากพบลำดับที่ไม่ถูกต้อง คุณสมบัติของระบบอ่านและประเมินเมื่อเริ่มต้น PropertyResourceBundle class แล้วการกระทำใด ๆ ที่เปลี่ยนหรือลบคุณสมบัติจะไม่มีผล
ถ้าเราระบุ ISO-8859-1 :
- อักขระที่ไม่สามารถแสดงใน ISO-8859-1 การเข้ารหัส ต้องแสดงด้วย Unicode หลบหนี .
- ค่าการเข้ารหัสอื่นๆ ละเว้นคุณสมบัติของระบบนี้
หากมีปัญหา เราสามารถพิจารณาตัวเลือกด้านล่าง:
- แปลง ไฟล์คุณสมบัติ เป็นการเข้ารหัส UTF-8 .
- ระบุคุณสมบัติของระบบรันไทม์
java.util.PropertyResourceBundle.encoding=ISO-8859-1