ดูเหมือนว่ามีบางสิ่งถูกปรับโดยไม่ตั้งใจภายในการตั้งค่าภาษาของคุณ สำหรับผู้เริ่มลองสิ่งต่อไปนี้:
Unicode เป็นมาตรฐานการเข้ารหัสอักขระที่พัฒนาโดย Unicode Consortium ซึ่งกำหนดชุดของตัวอักษรตัวเลขและสัญลักษณ์ที่แสดงถึงเกือบทั้งหมดของภาษาที่เขียนในโลก ความสำเร็จในการรวมชุดอักขระได้นำไปใช้อย่างกว้างขวางในการสร้างซอฟต์แวร์คอมพิวเตอร์
Unicode เข้ามาอยู่ที่ไหน เมื่อคุณพูดถึงซอฟต์แวร์ที่เขียนในภาษาที่มีชุดอักขระเฉพาะ (เช่นภาษาจีน) ที่คาดว่าจะเรียกใช้และแสดงอย่างถูกต้องบนคอมพิวเตอร์ที่มีระบบปฏิบัติการซึ่งใช้ชุดอักขระที่แตกต่างอย่างสิ้นเชิง (เช่น Windows เป็นภาษาอังกฤษ) ตัวอย่างที่ตรงข้ามก็มีผลเช่นกัน: ซอฟต์แวร์ที่เขียนเป็นภาษาอังกฤษซึ่งใช้อักขระละตินคาดว่าจะทำงานและแสดงอย่างถูกต้องบนคอมพิวเตอร์ Windows ในภาษาจีน ในสถานการณ์เช่นนี้ขึ้นอยู่กับวิธีการเข้ารหัสแอปพลิเคชันอาจเกิดขึ้นได้ว่าตัวละครบางตัวในอินเทอร์เฟซของแอปพลิเคชันแสดงไม่ถูกต้อง
ภาวะแทรกซ้อนโดยทั่วไปเกิดขึ้นเมื่อคุณต้องการรวมซอฟต์แวร์เข้ากับระบบปฏิบัติการที่มีชุดอักขระ "ขัดแย้งกัน" เช่นจีนญี่ปุ่นอาหรับฮิบรูรัสเซียและอื่น ๆ เมื่อเทียบกับภาษาที่ใช้อักขระละตินเช่นอังกฤษโรมาเนียสเปนเยอรมัน ฯลฯ .
เมื่อเกิดข้อขัดแย้งดังกล่าวภาษาที่แสดงที่ใช้โดยระบบปฏิบัติการจะถูกพิจารณาว่าเป็นภาษา Unicode และตามค่าเริ่มต้นโปรแกรมที่ไม่ใช่ Unicode จะถูกตั้งค่าให้ใช้ภาษาเดียวกัน ซอฟต์แวร์ที่มีชุดอักขระที่แตกต่างกันถือเป็นโปรแกรมที่ไม่ใช่ Unicode เนื่องจากใช้ชุดอักขระที่แตกต่างอย่างสิ้นเชิงจากชุดที่ใช้โดยภาษาโปรแกรมที่ไม่ใช่ Unicode เริ่มต้นจึงไม่แสดงอย่างถูกต้อง ในการแก้ไขปัญหาคุณต้องเปลี่ยนภาษาเริ่มต้นที่ระบบปฏิบัติการใช้สำหรับโปรแกรมที่ไม่ใช่ Unicode ให้ตรงกับภาษาที่ใช้โดยโปรแกรมที่คุณต้องการเรียกใช้
ด้านล่างคุณสามารถดูตัวอย่างของความขัดแย้งดังกล่าวและแสดงอักขระบางตัวก่อนเปลี่ยนภาษาโปรแกรมที่ไม่ใช่ Unicode และหลังจากเปลี่ยนเป็นภาษาที่ถูกต้อง