Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

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

ถ้าเราระบุ ISO-8859-1 :

  • อักขระที่ไม่สามารถแสดงใน ISO-8859-1 การเข้ารหัส ต้องแสดงด้วย Unicode หลบหนี .
  • ค่าการเข้ารหัสอื่นๆ ละเว้นคุณสมบัติของระบบนี้

หากมีปัญหา เราสามารถพิจารณาตัวเลือกด้านล่าง:

  • แปลง ไฟล์คุณสมบัติ เป็นการเข้ารหัส UTF-8 .
  • ระบุคุณสมบัติของระบบรันไทม์
java.util.PropertyResourceBundle.encoding=ISO-8859-1