
วิธีแก้ภาษาต่างดาว Windows 10/11 ทุกสาเหตุ แก้ได้เองใน 5 นาที
เปิดไฟล์ Word มาแล้วเจอตัวอักษรเป็นสี่เหลี่ยม สระลอย หรือกลายเป็นภาษาที่อ่านไม่ออกเลย เป็นปัญหาที่ผู้ใช้ Windows 10 และ Windows 11 ในไทยเจอกันแทบทุกคน บางทีเกิดหลังอัปเดตระบบ บางทีเกิดเฉพาะในโปรแกรมเก่าอย่าง Excel หรือ Notepad และบางทีก็โผล่ขึ้นมาเองโดยไม่รู้สาเหตุ ทำให้ทำงานต่อไม่ได้และน่ารำคาญมาก
ข่าวดีคือปัญหาภาษาต่างดาวเกือบทุกเคสแก้ได้ด้วยตัวเองภายในไม่กี่นาที ขอแค่รู้ว่าต้นเหตุของอาการคืออะไร บทความนี้รวมทุกสาเหตุที่ทำให้ภาษาไทยเพี้ยนใน Windows พร้อมวิธีแก้แบบทีละขั้นตอน ตั้งแต่การปรับ Region การติดตั้งฟอนต์ใหม่ การเปลี่ยน System Locale ไปจนถึงการแก้ Registry สำหรับเคสที่ดื้อจริงๆ และปิดท้ายด้วยวิธีป้องกันไม่ให้ปัญหากลับมาอีก

ก่อนจะลงมือแก้ ต้องเข้าใจก่อนว่าอาการตัวอักษรเพี้ยนใน Windows มาจาก 3 สาเหตุหลักที่แตกต่างกันโดยสิ้นเชิง อย่างแรกคือการตั้งค่าภาษาและ Region ของระบบไม่ตรงกับภาษาไทย อย่างที่สองคือฟอนต์ภาษาไทยในระบบหายไปหรือเสียหายหลังการอัปเดต และอย่างสุดท้ายคือโปรแกรมเก่าที่ไม่รองรับ Unicode ทำให้แสดงผลภาษาไทยผิดเฉพาะในบางแอป การวินิจฉัยให้ตรงสาเหตุก่อนจะช่วยให้แก้จบในครั้งเดียวโดยไม่ต้องลองผิดลองถูก
หัวใจของปัญหานี้อยู่ที่ค่า System Locale ซึ่งเป็นตัวกำหนดว่าระบบจะตีความไฟล์ที่ไม่ใช่ Unicode ด้วยภาษาอะไร ถ้าตั้งไว้เป็นภาษาอื่นที่ไม่ใช่ไทย เช่น English (United States) แต่ไฟล์หรือโปรแกรมที่เปิดถูกเขียนมาด้วย codepage ภาษาไทย ระบบจะถอดรหัสตัวอักษรผิดทันที ผลลัพธ์ที่ได้คือสระและพยัญชนะกลายเป็นสัญลักษณ์แปลกๆ หรือเครื่องหมายคำถามที่อ่านไม่ออก
สถานการณ์ที่พบบ่อยคือเครื่องคอมที่ซื้อมาจากต่างประเทศหรือเครื่องที่ลง Windows เวอร์ชัน English มาตั้งแต่แรกโดยไม่ได้ปรับ Region เป็น Thailand เมื่อเปิดไฟล์ Excel เก่าหรือเอกสารที่สร้างจากเครื่องคนอื่นจึงเจอตัวอักษรเพี้ยนเฉพาะส่วนภาษาไทย ขณะที่ภาษาอังกฤษยังแสดงผลปกติ อาการแบบนี้เป็นสัญญาณชัดว่าต้นเหตุมาจาก locale ไม่ใช่ฟอนต์หรือไฟล์เสียหาย
อีกสาเหตุที่มักถูกมองข้ามคือไฟล์ฟอนต์ภาษาไทยในระบบหายหรือเสียหาย ทำให้ Windows ไม่มีตัวอักษรไทยให้เรนเดอร์ จึงแสดงผลเป็นกล่องสี่เหลี่ยม เครื่องหมายคำถาม หรือสัญลักษณ์ที่อ่านไม่ออกแทน อาการนี้มี trigger ที่พบบ่อยดังนี้
Unicode คือมาตรฐานการเข้ารหัสตัวอักษรสากลที่ครอบคลุมภาษาไทยและภาษาอื่นๆ ทั่วโลกในชุดเดียวกัน แต่โปรแกรมรุ่นเก่าที่พัฒนาก่อนยุค Unicode จะใช้ระบบ codepage แบบเดิม เมื่อรันบน Windows ที่ตั้ง locale ไม่ตรงกับที่โปรแกรมคาดไว้ ตัวอักษรไทยที่เคยอ่านได้ก็จะกลายเป็นสัญลักษณ์แปลกๆ หรือภาษาต่างดาวทันที
โปรแกรมที่ผู้ใช้ไทยเจอปัญหานี้บ่อยมักเป็นซอฟต์แวร์เฉพาะทางหรือเวอร์ชันเก่า เช่น โปรแกรมบัญชีรุ่นเดิมที่ยังใช้ในออฟฟิศ ไฟล์ .txt เก่าที่เปิดใน Notepad แล้วตัวอักษรเพี้ยน ไฟล์ Excel ที่ส่งต่อกันมาตั้งแต่ Windows XP รวมถึงเกมเก่าหรือโปรแกรมญี่ปุ่นบางตัวที่ติดตั้งบนเครื่องไทย อาการเหล่านี้คือสัญญาณชัดเจนว่าโปรแกรมไม่รองรับ Unicode และต้องแก้ที่การตั้งค่าระบบให้สอดคล้องกัน
หลังจากรู้สาเหตุทั้งสามแล้ว วิธีแก้ที่ควรลองเป็นอันดับแรกคือการกลับไปตรวจการตั้งค่าภาษาพื้นฐานของระบบ เพราะเป็นจุดเริ่มต้นที่ง่ายที่สุดและแก้ปัญหาส่วนใหญ่ได้โดยไม่ต้องยุ่งกับฟอนต์หรือ Registry ขั้นตอนถัดไปจะแบ่งเป็นสองส่วนหลักคือการตั้ง Language กับ Region ให้ถูก และการเลือก Display language ที่ระบบใช้แสดงผลทุกหน้าจอ
เริ่มจากเปิด Settings แล้วทำตามลำดับนี้เพื่อให้ระบบรู้ว่าผู้ใช้อยู่ในประเทศไทยและต้องการใช้ภาษาไทยเป็นหลัก
หลายคนสับสนระหว่าง Display language กับ Input language ทั้งที่ทำหน้าที่ต่างกันชัดเจน Display language คือภาษาที่ระบบใช้แสดงเมนู หน้าต่าง และข้อความระบบทั้งหมด ส่วน Input language คือภาษาที่ใช้พิมพ์ผ่านคีย์บอร์ด ถ้าตั้ง Input เป็นไทยแต่ Display ยังเป็นภาษาอื่นที่ไม่รองรับฟอนต์ไทยเต็มรูปแบบ ตัวอักษรในบางหน้าก็ยังเพี้ยนอยู่ดี
วิธีตั้งค่าให้เข้าไปที่ Settings แล้วเลือก Time & language จากนั้นที่หัวข้อ Windows display language ให้เปลี่ยน dropdown เป็น ไทย แล้วกด Sign out เพื่อให้ระบบโหลดภาษาใหม่ทั้งระบบ ขั้นตอนนี้จำเป็นต้องมี Language pack ภาษาไทยติดตั้งอยู่ก่อน ถ้าใครซื้อเครื่องประกอบใหม่และอยากข้ามขั้นตอนตั้งค่าทั้งหมดนี้ การเลือกลง Windows แท้ที่ตั้งค่าภาษาไทยมาให้ตั้งแต่แกะกล่องช่วยให้พร้อมใช้งานได้ทันทีโดยไม่ต้องวุ่นวาย

ถ้าตั้งค่าภาษาและ Display language เป็นไทยเรียบร้อยแล้วแต่ตัวอักษรยังขึ้นเป็นกล่องสี่เหลี่ยม เครื่องหมายคำถาม หรือสัญลักษณ์แปลกๆ อยู่ ปัญหาน่าจะย้ายมาอยู่ที่ตัวฟอนต์ภาษาไทยในระบบที่หายไปหรือไฟล์เสียหาย ซึ่งมักเกิดหลังอัปเดต Windows ครั้งใหญ่หรือเผลอลบฟอนต์ระบบทิ้ง การแก้ในขั้นตอนถัดไปจะเน้นที่การติดตั้งฟอนต์ไทยกลับเข้าไปใหม่และรีเซ็ตค่าฟอนต์ของระบบให้กลับมาเป็นค่าเริ่มต้น
ฟอนต์ระบบของ Windows ที่รองรับภาษาไทยมีอยู่ไม่กี่ตัวที่จำเป็น ถ้าหายไปต้องโหลดมาใส่กลับให้ครบก่อนระบบถึงจะแสดงผลภาษาไทยได้ปกติ
หากติดตั้งฟอนต์กลับเข้าไปแล้วการแสดงผลยังไม่ปกติ ให้ลองรีเซ็ตค่าฟอนต์ของระบบกลับเป็นค่าโรงงานโดยพิมพ์คำว่า Fonts ในช่องค้นหาของ Windows แล้วเปิด Font settings จากนั้นเลือก Restore default font settings ระบบจะเคลียร์การจับคู่ฟอนต์ที่ผิดเพี้ยนและคืนค่าฟอนต์มาตรฐานที่ Windows ใช้แสดงผลภาษาไทย เมื่อรีสตาร์ตเครื่องอีกครั้งเมนูและตัวอักษรในระบบจะกลับมาอ่านได้ตามปกติโดยไม่ต้องลง Windows ใหม่
บางครั้งระบบ Windows แสดงผลภาษาไทยได้ปกติทั้งเมนูและหน้าเว็บ แต่พอเปิดโปรแกรมบางตัวอย่าง Excel เวอร์ชันเก่า Notepad หรือซอฟต์แวร์บัญชีของไทยกลับเจอตัวอักษรกลายเป็นสัญลักษณ์แปลกๆ อ่านไม่ออก ปัญหาแบบนี้มักไม่ได้อยู่ที่ฟอนต์หรือภาษาแสดงผล แต่อยู่ที่ค่า System Locale ของเครื่องที่ยังไม่ได้กำหนดให้ใช้ codepage ภาษาไทย ทำให้โปรแกรมเหล่านั้นตีความตัวอักษรผิดทาง วิธีแก้ในหัวข้อย่อยถัดไปจะเน้นจัดการที่จุดนี้โดยเฉพาะ
การปรับค่านี้ทำได้ผ่าน Control Panel โดยทำตามขั้นตอนต่อไปนี้ตามลำดับ และอย่าลืม restart เครื่องหลังจากเสร็จ ถ้าไม่มั่นใจว่าจะกดผิดจุด สามารถใช้บริการลง Windows แท้พร้อมตั้งค่าภาษาไทยและไดรเวอร์พื้นฐานจากทางร้านที่จะตั้งค่าทุกอย่างให้พร้อมใช้งานทันที
System Locale คือค่าที่บอกระบบว่าจะใช้ codepage ไหนเป็นค่าเริ่มต้นเมื่อเจอข้อความที่ไม่ใช่ Unicode ซึ่งต่างจาก Display language ที่ควบคุมแค่ภาษาของเมนูและหน้าจอเท่านั้น ถ้า Display language เป็นภาษาไทยแต่ System Locale ยังเป็น English ตัวอักษรไทยในไฟล์เก่าหรือโปรแกรมรุ่นเก่าก็จะเพี้ยนเหมือนเดิม การตั้ง System Locale เป็น Thai (Thailand) จึงเป็นกุญแจสำคัญที่ทำให้ระบบเข้าใจไฟล์ภาษาไทยได้ทุกแหล่ง
วิธีตั้งค่าให้เปิด Control Panel เข้า Region แล้วไปที่แท็บ Administrative กดปุ่ม Change system locale เลือก Thai (Thailand) จากเมนูดรอปดาวน์ ถ้าใช้ Windows 11 รุ่นใหม่จะมีตัวเลือก Beta Use Unicode UTF-8 ให้ระวังก่อนเปิด เพราะอาจทำให้บางโปรแกรมเก่ากลับเพี้ยนแทน เมื่อยืนยันแล้วระบบจะขอให้ restart เครื่องหนึ่งครั้งและจะมีผลทันที
เมื่อปรับ Settings และ System Locale แล้วยังไม่หาย แปลว่าปัญหาฝังลึกในระดับที่ต้องใช้เครื่องมือเก่าแก่กว่าอย่าง Control Panel ที่เข้าถึงค่า Region ได้ละเอียดกว่า หรือถึงขั้นต้องแก้ที่ Registry ซึ่งเป็นฐานข้อมูลกลางของ Windows โดยตรง วิธีหลังนี้ทรงพลังแต่ก็เสี่ยงสูง ถ้าแก้ผิด key อาจทำให้ระบบบูตไม่ขึ้นหรือโปรแกรมรวนทั้งเครื่อง ก่อนลงมือควร backup Registry และสร้าง System Restore Point ไว้เสมอเพื่อให้ย้อนกลับได้หากเกิดปัญหา
Control Panel แบบเก่ายังเข้าถึงค่า Region ที่ Settings ใหม่ซ่อนไว้ได้ลึกกว่า โดยเฉพาะแท็บ Administrative ที่กดเปลี่ยน System Locale และคัดลอกการตั้งค่าไปยังบัญชีระบบได้ในที่เดียว ทำตามขั้นตอนต่อไปนี้
วิธีนี้เหมาะสำหรับเคสที่ลองทุกอย่างแล้วยังไม่หาย โดยต้องแก้ค่า codepage และ font substitute ใน Registry ก่อนลงมือควรกด File แล้ว Export เพื่อ backup ทุกครั้ง เพราะการแก้ผิดอาจทำให้ Windows บูตไม่ขึ้น ถ้าไม่มั่นใจแนะนำให้ส่งเครื่องเข้าบริการ อัปเกรดเครื่อง ที่มีช่างดูแลให้แทนการเสี่ยงแก้เอง
| Registry Path | Value Name | ค่าที่ควรเป็น |
|---|---|---|
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage | ACP | 874 |
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage | OEMCP | 874 |
| HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language | Default | 041E |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes | MS Sans Serif,0 | Microsoft Sans Serif,222 |
| HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes | Tahoma,0 | Tahoma,222 |
หลังแก้ปัญหาเสร็จแล้วสิ่งที่ควรทำต่อคือการป้องกันไม่ให้กลับมาเจออีก เริ่มจากการตั้ง Region เป็น Thailand และ System Locale เป็น Thai ให้ตรงกันตั้งแต่แรก หลีกเลี่ยงการลบฟอนต์ระบบอย่าง Tahoma หรือ Leelawadee ออกเอง และเมื่อ Windows ปล่อยอัปเดตใหญ่ควรเช็กการแสดงผลภาษาไทยทันทีเพื่อจับปัญหาตั้งแต่เนิ่นๆ ก่อนที่ฟอนต์จะหายไปนาน
ทางที่สบายที่สุดคือเริ่มต้นจากเครื่องที่ติดตั้งระบบมาดีตั้งแต่ต้น เพราะถ้า Windows ถูกลงและตั้ง locale มาถูกต้อง ปัญหาภาษาต่างดาวแทบจะไม่มีโอกาสเกิดเลย ใครที่กำลังมองหาเครื่องใหม่หรือเบื่อปัญหาจุกจิกแบบนี้ การเลือก คอมพิวเตอร์จัดสเปกพร้อม Windows แท้ ที่ตั้งค่าภาษาและไดรเวอร์มาให้ครบจาก iHAVECPU ก็เป็นทางลัดที่ตัดปัญหาเรื่องการตั้งค่าระบบออกไปได้ทั้งหมด
มักเกิดจากการตั้งค่า Region หรือ System Locale ใน Control Panel ยังไม่ถูกเปลี่ยนเป็นภาษาไทย ทำให้การแก้ภาษาต่างดาวที่ทำไว้ไม่ถูกบันทึกถาวร เมื่อรีสตาร์ทเครื่องระบบจึงดึงค่าเดิมกลับมาใช้งานอีกครั้ง
ให้ติ๊กเลือก Beta Use Unicode UTF-8 for worldwide language support ในหน้า Region Settings แล้วรีสตาร์ทเครื่อง หรือใช้โปรแกรม Locale Emulator ช่วยแก้ภาษาต่างดาวเฉพาะโปรแกรมที่ยังแสดงผลผิดอยู่ได้
วิธีแก้ภาษาต่างดาวบน Windows 10 และ Windows 11 ไม่ต่างกันมาก เพราะใช้หลักการเดียวกันคือปรับ Region และ Language for non-Unicode programs ให้เป็นภาษาไทย เพียงแต่ Windows 11 มีหน้าตา Settings ที่เปลี่ยนไปและเมนูอยู่ลึกกว่าเล็กน้อย แต่ขั้นตอนหลักยังเหมือนเดิม
หากลองแก้ภาษาต่างดาวด้วยการตั้งค่า Region, Font หรือ Encoding แล้วยังไม่หาย แนะนำให้ลองรีเซ็ตเครื่องก่อนเพราะประหยัดค่าใช้จ่ายและมักแก้ปัญหาระบบได้ แต่ถ้ารีเซ็ตแล้วยังพบอาการเดิม ควรนำเข้าศูนย์ซ่อมเพราะอาจเกิดจากฮาร์ดแวร์หรือเมนบอร์ดเสียหาย




