- 1 1. บทนำ
- 2 2. สาเหตุหลักของปัญหาตัวอักษรผิดเพี้ยน
- 3 3. การตรวจสอบและแก้ไขการตั้งค่าโลเคล
- 4 4. การติดตั้งและการตั้งค่าฟอนต์
- 5 5. การตรวจสอบและแปลงการเข้ารหัสอักขระ
- 6 6. การตรวจสอบการตั้งค่าเทอร์มินัลและโปรแกรมแก้ไข
- 7 7. การแก้ไขปัญหาตามกรณี
- 8 8. คำถามที่พบบ่อย (FAQ)
- 8.1 Q1. ตั้งค่าโลเคเลแล้ว แต่ตัวอักษรผิดเพี้ยนยังไม่หายไป
- 8.2 Q2. เฉพาะไฟล์บางไฟล์เท่านั้นที่ตัวอักษรผิดเพี้ยน
- 8.3 Q3. ไม่สามารถพิมพ์ภาษาญี่ปุ่นในเทอร์มินัลได้
- 8.4 Q4. ภาษาญี่ปุ่นตัวอักษรผิดเพี้ยนใน WSL (Windows Subsystem for Linux)
- 8.5 Q5. ภาษาญี่ปุ่นตัวอักษรผิดเพี้ยนภายใน Docker Container
- 8.6 Q6. เมนูและไดอะล็อกในแอปพลิเคชัน GUI ของ Ubuntu ตัวอักษรผิดเพี้ยน
- 9 9. สรุป
- 10 ข้อสรุปสุดท้าย
1. บทนำ
เมื่อใช้งาน Ubuntu คุณอาจพบปัญหาตัวอักษรผิดเพี้ยน (mojibake) ในสถานการณ์ต่างๆ เช่น เอาต์พุตบนเทอร์มินัล การแสดงชื่อไฟล์ภาษาญี่ปุ่น หรือเมื่อดูหน้าเว็บภาษาญี่ปุ่นในเบราว์เซอร์ อาการจะแตกต่างกันไปตามสภาพแวดล้อม โดยเฉพาะอย่างยิ่ง ในหลายกรณี ภาษาญี่ปุ่นจะไม่แสดงผลอย่างถูกต้องหากยังคงใช้การตั้งค่าเริ่มต้น ดังนั้นจึงจำเป็นต้องมีการตั้งค่าที่เหมาะสม
บทความนี้จะอธิบายสาเหตุของปัญหาตัวอักษรผิดเพี้ยนใน Ubuntu และวิธีการแก้ไขปัญหาอย่างละเอียด ผู้อ่านเป้าหมายมีดังต่อไปนี้:
- ผู้เริ่มต้นใช้งาน Ubuntu ที่ยังไม่ได้ตั้งค่าการแสดงผลภาษาญี่ปุ่น
- ผู้ที่ต้องการทราบสาเหตุของตัวอักษรผิดเพี้ยนและหาวิธีแก้ไขปัญหาที่ต้นเหตุ
- ผู้ที่พบปัญหาตัวอักษรผิดเพี้ยนในเทอร์มินัลหรือสภาพแวดล้อม GUI และต้องการทราบวิธีการแก้ไข
อันดับแรก มาดูสาเหตุหลักของปัญหาตัวอักษรผิดเพี้ยนใน Ubuntu กัน
2. สาเหตุหลักของปัญหาตัวอักษรผิดเพี้ยน
การตั้งค่าโลเคลไม่ถูกต้อง
โลเคล (locale) ใน Ubuntu คือการตั้งค่าสภาพแวดล้อมที่กำหนดภาษาของระบบและรูปแบบวันที่ หากไม่ได้ตั้งค่าอย่างถูกต้อง อาจทำให้ภาษาญี่ปุ่นไม่แสดงผลหรือเกิดปัญหาตัวอักษรผิดเพี้ยนได้
ตัวอย่างเช่น หากคุณรันคำสั่ง locale
แล้วแสดงผลเป็น “C” หรือ “POSIX” ตามด้านล่าง แสดงว่าโลเคลอาจไม่ได้ตั้งค่าอย่างเหมาะสม:
$ locale
LANG=C
LC_ALL=
โดยปกติแล้ว ในสภาพแวดล้อมภาษาญี่ปุ่น ควรเป็น LANG=ja_JP.UTF-8
ไม่ได้ตั้งค่าหรือไม่มีฟอนต์
ในสถานะเริ่มต้นของ Ubuntu อาจไม่มีฟอนต์ภาษาญี่ปุ่นติดตั้งอยู่ ด้วยเหตุนี้ ข้อความภาษาญี่ปุ่นอาจไม่แสดงผลอย่างถูกต้อง และอาจปรากฏเป็นช่องสี่เหลี่ยม (□) หรือสัญลักษณ์ที่ไม่เข้าใจ
โดยเฉพาะอย่างยิ่ง สามารถยืนยันได้ว่าฟอนต์ไม่เพียงพอในสถานการณ์ต่อไปนี้:
- เมนูหรือปุ่มในแอปพลิเคชัน GUI มีตัวอักษรผิดเพี้ยน
- เมื่อเปิดไฟล์ภาษาญี่ปุ่นในโปรแกรมแก้ไขข้อความ ตัวอักษรผิดเพี้ยน
การเข้ารหัสอักขระไม่ตรงกัน
Ubuntu ใช้ UTF-8
เป็นมาตรฐานเป็นหลัก แต่หากเปิดไฟล์ที่มีการเข้ารหัสอักขระที่แตกต่างกัน เช่น Shift_JIS
หรือ EUC-JP
จากภายนอก อาจเกิดปัญหาตัวอักษรผิดเพี้ยนได้
ตัวอย่างเช่น เมื่อเปิดไฟล์ที่สร้างขึ้นในสภาพแวดล้อม Windows บน Ubuntu อาจเกิดปรากฏการณ์ดังต่อไปนี้:
- เมื่อเปิดในโปรแกรมแก้ไขข้อความ จะแสดงสัญลักษณ์ที่ไม่เข้าใจ
- เมื่อรันคำสั่ง
cat
ในเทอร์มินัล ตัวอักษรจะเสียหาย
การตั้งค่าเทอร์มินัลหรือโปรแกรมแก้ไขผิดพลาด
หากเทอร์มินัลหรือโปรแกรมแก้ไขไม่ได้ตั้งค่าอย่างเหมาะสม แม้แต่ไฟล์ที่เข้ารหัสด้วย UTF-8 ก็อาจไม่แสดงผลอย่างถูกต้อง
- การตั้งค่าการเข้ารหัสของเทอร์มินัลไม่ใช่
UTF-8
- ในโปรแกรมแก้ไขเช่น Vim หรือ VSCode การตรวจจับการเข้ารหัสอักขระอัตโนมัติไม่ทำงาน
- เมื่อแสดงผลด้วย
less
หรือcat
ส่วนภาษาญี่ปุ่นจะกลายเป็น “?” หรือ “◇”
3. การตรวจสอบและแก้ไขการตั้งค่าโลเคล
วิธีการตรวจสอบการตั้งค่าโลเคล
ขั้นแรก ในการตรวจสอบการตั้งค่าโลเคลปัจจุบัน ให้รันคำสั่งต่อไปนี้:
locale
ตัวอย่างผลลัพธ์:
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
ในกรณีนี้ LANG=C
ซึ่งหมายความว่าสภาพแวดล้อมภาษาญี่ปุ่นไม่ได้ตั้งค่าอย่างเหมาะสม ในสภาพแวดล้อมภาษาญี่ปุ่น ควรเป็นดังนี้:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
การติดตั้งและการตั้งค่าโลเคลภาษาญี่ปุ่น
1. การตรวจสอบและเพิ่มโลเคลภาษาญี่ปุ่น
ในการตรวจสอบว่าโลเคลภาษาญี่ปุ่นติดตั้งอยู่ในระบบหรือไม่ ให้รันคำสั่งต่อไปนี้:
locale -a | grep ja_JP
ตัวอย่างผลลัพธ์:
ja_JP.eucJP
ja_JP.utf8
หาก ja_JP.utf8
ไม่ปรากฏในรายการ คุณจะต้องติดตั้งโลเคเลภาษาญี่ปุ่น
รันคำสั่งต่อไปนี้เพื่อเพิ่มโลเคเลภาษาญี่ปุ่น:
sudo apt update
sudo apt install -y language-pack-ja
ถัดไป เพื่อเปิดใช้งานโลเคเล ให้รันคำสั่งต่อไปนี้:
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
2. การตั้งค่าโลเคเลของระบบ
ในการใช้การเปลี่ยนแปลงโลเคเลกับทั้งระบบ ให้รันคำสั่งต่อไปนี้:
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
เพื่อให้การตั้งค่านี้ถาวร ให้เพิ่มลงใน ~/.bashrc
หรือ ~/.profile
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
หรือ หากต้องการใช้กับผู้ใช้ทั้งหมด ให้แก้ไขไฟล์ต่อไปนี้:
sudo nano /etc/default/locale
เพิ่มหรือแก้ไขเนื้อหาต่อไปนี้:
LANG=ja_JP.UTF-8
LC_ALL=ja_JP.UTF-8
ในการใช้การตั้งค่า ให้ล็อกเอาต์แล้วล็อกอินใหม่ หรือรีสตาร์ท
4. การติดตั้งและการตั้งค่าฟอนต์
ความจำเป็นของฟอนต์ภาษาญี่ปุ่น
ในสถานะเริ่มต้นของ Ubuntu อาจไม่มีฟอนต์ภาษาญี่ปุ่นติดตั้งอยู่ ด้วยเหตุนี้ ข้อความภาษาญี่ปุ่นอาจไม่แสดงผลอย่างถูกต้อง และอาจปรากฏเป็นช่องสี่เหลี่ยม (□) หรือสัญลักษณ์ที่ไม่เข้าใจ
โดยเฉพาะอย่างยิ่ง สามารถยืนยันได้ว่าฟอนต์ไม่เพียงพอในสถานการณ์ต่อไปนี้:
- เมนูหรือปุ่มในแอปพลิเคชัน GUI มีตัวอักษรผิดเพี้ยน
- เมื่อเปิดไฟล์ภาษาญี่ปุ่นในโปรแกรมแก้ไขข้อความ ตัวอักษรผิดเพี้ยน
ฟอนต์ภาษาญี่ปุ่นที่แนะนำ
ฟอนต์ภาษาญี่ปุ่นที่สามารถใช้ได้ใน Ubuntu มีดังนี้:
ชื่อฟอนต์ | คุณสมบัติ |
---|---|
Noto Sans CJK JP | ฟอนต์ภาษาญี่ปุ่นคุณภาพสูงที่ Google ให้บริการ (แนะนำเป็นค่าเริ่มต้น) |
Takao Font | ฟอนต์มาตรฐาน Ubuntu แบบดั้งเดิม (มีแบบบางและแบบหนา) |
IPA Font | ฟอนต์คุณภาพสูงที่ Information-technology Promotion Agency (IPA) ให้บริการ |
VL Gothic | อ่านง่ายและเหมาะสำหรับเทอร์มินัล |
วิธีการติดตั้งฟอนต์
1. Noto Sans CJK JP (ฟอนต์แนะนำเป็นค่าเริ่มต้น)
sudo apt update
sudo apt install -y fonts-noto-cjk
2. Takao Font
sudo apt install -y fonts-takao
3. IPA Font (Information-technology Promotion Agency)
sudo apt install -y fonts-ipafont
4. VL Gothic (สำหรับเทอร์มินัล)
sudo apt install -y fonts-vlgothic
เมื่อการติดตั้งเสร็จสิ้น ให้รีสตาร์ทระบบหรืออัปเดตแคชฟอนต์เพื่อใช้การตั้งค่า
fc-cache -fv
วิธีการตั้งค่าฟอนต์
การตั้งค่าฟอนต์ในแอปพลิเคชัน GUI
- เปิดแอปพลิเคชัน “การตั้งค่า”
- เปิดส่วน “ฟอนต์”
- เปลี่ยน “ฟอนต์มาตรฐาน”, “ฟอนต์เอกสาร”, “ฟอนต์กว้างเท่ากัน” เป็นฟอนต์ที่คุณต้องการ
- ล็อกเอาต์และล็อกอินใหม่เพื่อใช้การตั้งค่า
การตั้งค่าฟอนต์ในเทอร์มินัล
- เปิดเทอร์มินัล
- เลือก “การตั้งค่า” → “แก้ไขโปรไฟล์” จากเมนู
- ทำเครื่องหมายที่ “ใช้ฟอนต์แบบกำหนดเอง” ในส่วน “ฟอนต์”
- เลือกฟอนต์ที่คุณต้องการ (เช่น Noto Sans Mono CJK JP)
- บันทึกการตั้งค่าและรีสตาร์ทเทอร์มินัล
การใช้และตรวจสอบการตั้งค่า
ในการตรวจสอบว่าการตั้งค่าฟอนต์ถูกนำไปใช้ถูกต้องหรือไม่ ให้ลองใช้วิธีต่อไปนี้:
- ตรวจสอบฟอนต์ที่ติดตั้งด้วยคำสั่ง
fc-list
fc-list | grep "Noto"
- ตรวจสอบการแสดงผลภาษาญี่ปุ่นในเทอร์มินัล
echo "สวัสดี, วิธีแก้ไขปัญหาตัวอักษรผิดเพี้ยนของ Ubuntu"
- ตรวจสอบว่าภาษาญี่ปุ่นแสดงผลอย่างถูกต้องในแอปพลิเคชัน GUI (Firefox, LibreOffice ฯลฯ)
5. การตรวจสอบและแปลงการเข้ารหัสอักขระ
การเข้ารหัสอักขระคืออะไร?
การเข้ารหัสอักขระ (Character code) คือกฎสำหรับการจัดการอักขระเป็นข้อมูลดิจิทัล การเข้ารหัสอักขระที่สำคัญมีดังนี้:
การเข้ารหัสอักขระ | คุณสมบัติ | การใช้งานหลัก |
---|---|---|
UTF-8 | รองรับหลายภาษา, มาตรฐานใน Linux | Ubuntu และการพัฒนาเว็บ |
Shift_JIS | เฉพาะภาษาญี่ปุ่น, เป็นที่นิยมใน Windows | แอปพลิเคชัน Windows, ระบบเก่า |
EUC-JP | เคยใช้ในระบบ UNIX | ระบบ Linux เก่า |
ISO-2022-JP | ใช้ในอีเมลและบางสภาพแวดล้อม | การส่งและรับอีเมล |
Ubuntu ใช้ UTF-8 เป็นมาตรฐานเป็นหลัก ดังนั้น หากเปิดไฟล์ที่บันทึกด้วยการเข้ารหัสอักขระอื่น อาจเกิดปัญหาตัวอักษรผิดเพี้ยนได้
วิธีการตรวจสอบการเข้ารหัสอักขระของไฟล์
1. ใช้คำสั่ง file
file -i sample.txt
ตัวอย่างผลลัพธ์:
sample.txt: text/plain; charset=iso-8859-1
2. ใช้คำสั่ง nkf
sudo apt install -y nkf
nkf --guess sample.txt
ตัวอย่างผลลัพธ์:
Shift_JIS (CRLF)
วิธีการแปลงการเข้ารหัสอักขระ
1. ใช้คำสั่ง iconv
ตัวอย่างการแปลง Shift_JIS → UTF-8:
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
ตัวอย่างการแปลง EUC-JP → UTF-8:
iconv -f EUC-JP -t UTF-8 sample.txt -o sample_utf8.txt
2. ใช้คำสั่ง nkf
ตัวอย่างการแปลง Shift_JIS → UTF-8:
nkf -w sample.txt > sample_utf8.txt
ตัวอย่างการแปลง EUC-JP → UTF-8:
nkf -w --overwrite sample.txt
การแก้ไขปัญหาตัวอักษรผิดเพี้ยนในเทอร์มินัลและโปรแกรมแก้ไข
1. แสดงผลอย่างถูกต้องโดยใช้คำสั่ง less
export LESSCHARSET=utf-8
less sample.txt
2. เปิดด้วย Vim โดยระบุการเข้ารหัสอักขระ
vim -c "set encoding=utf-8" sample.txt
3. เปลี่ยนการเข้ารหัสอักขระใน gedit
หรือ VSCode
- gedit (โปรแกรมแก้ไขมาตรฐาน GNOME)
- เปิดไฟล์ด้วย
gedit sample.txt
- เมื่อ “บันทึกเป็น” ให้เปลี่ยน “การเข้ารหัส” เป็น
UTF-8
- VSCode (Visual Studio Code)
- คลิก “การเข้ารหัส” ที่ด้านล่างของหน้าจอ
- แปลงเป็น
UTF-8

6. การตรวจสอบการตั้งค่าเทอร์มินัลและโปรแกรมแก้ไข
การตรวจสอบและแก้ไขการตั้งค่าเทอร์มินัล
1. ตรวจสอบการตั้งค่าการเข้ารหัสของเทอร์มินัล
ในการตรวจสอบตัวแปรสภาพแวดล้อมปัจจุบัน ให้รันคำสั่งต่อไปนี้:
echo $LANG
echo $LC_ALL
ตัวอย่างผลลัพธ์ (หากตั้งค่าถูกต้อง)
ja_JP.UTF-8
ja_JP.UTF-8
หากเป็น C
หรือ POSIX
ฯลฯ คุณต้องเปลี่ยนเป็นโลเคเลที่เหมาะสม (ja_JP.UTF-8
)
2. การตั้งค่าฟอนต์ของเทอร์มินัล
GNOME Terminal (เทอร์มินัลเริ่มต้น)
- เปิดเทอร์มินัล
- เปิด “การตั้งค่า” จากเมนู
- เปิด “แก้ไขโปรไฟล์” → แท็บ “ข้อความ”
- เปิดใช้งาน “ใช้ฟอนต์แบบกำหนดเอง” และเลือกอย่างใดอย่างหนึ่งดังต่อไปนี้:
- Noto Sans Mono CJK JP
- VL Gothic
- Takao Gothic
- บันทึกการตั้งค่าและรีสตาร์ทเทอร์มินัล
การตั้งค่าการเข้ารหัสอักขระของโปรแกรมแก้ไขข้อความ
1. การตั้งค่าการเข้ารหัสอักขระของ Vim
ในการตรวจสอบการตั้งค่าปัจจุบัน ให้เปิด Vim และรันคำสั่งต่อไปนี้:
:set encoding?
:set fileencoding?
ตัวอย่างผลลัพธ์:
encoding=utf-8
fileencoding=utf-8
หากไม่ใช่ utf-8
ให้เพิ่มข้อความต่อไปนี้ลงในไฟล์การตั้งค่า Vim (~/.vimrc
) เพื่อเปลี่ยนค่าเริ่มต้นเป็น UTF-8:
set encoding=utf-8
set fileencodings=utf-8,sjis,euc-jp
set fileformats=unix,dos,mac
2. การตั้งค่าการเข้ารหัสอักขระของ Nano
หากต้องการเปลี่ยนการตั้งค่าเริ่มต้น ให้เพิ่มข้อความต่อไปนี้ลงในไฟล์การตั้งค่า (~/.nanorc
):
set encoding "utf-8"
3. การตั้งค่าการเข้ารหัสอักขระของ VSCode (Visual Studio Code)
- คลิก “การเข้ารหัส” ที่ด้านล่างขวาของหน้าจอโปรแกรมแก้ไข
- เลือก
UTF-8
จาก “เปลี่ยนการเข้ารหัส” - ดำเนินการ “บันทึกพร้อมการเข้ารหัส” หากจำเป็น
นอกจากนี้ ในการตั้งค่าเริ่มต้นเป็น UTF-8
ให้เพิ่มข้อความต่อไปนี้ลงใน ไฟล์การตั้งค่า (settings.json):
"files.encoding": "utf8"
7. การแก้ไขปัญหาตามกรณี
การแก้ไขปัญหาตัวอักษรผิดเพี้ยนในแอปพลิเคชัน GUI
1. การแสดงผลภาษาญี่ปุ่นใน Firefox หรือ Chrome เสียหาย
วิธีแก้ไข:
- ติดตั้งฟอนต์ที่จำเป็น
sudo apt install -y fonts-noto-cjk fonts-ipafont
- ตรวจสอบการตั้งค่าฟอนต์ของเบราว์เซอร์
- Firefox:
- เข้าถึง
about:preferences
และเปิด “ฟอนต์และสี” → “ขั้นสูง” - เปลี่ยน “Proportional” และ “Monospace” เป็น
Noto Sans CJK JP
- เข้าถึง
- Chrome:
- เข้าถึง
chrome://settings/fonts
- เปลี่ยน “Standard font” และ “Fixed-width font” เป็น
Noto Sans CJK JP
- เข้าถึง
2. ตัวอักษรภาษาญี่ปุ่นผิดเพี้ยนใน LibreOffice
วิธีแก้ไข:
- ติดตั้ง
fonts-noto-cjk
และfonts-ipafont
- เปลี่ยนการตั้งค่า LibreOffice
- “เครื่องมือ” → “ตัวเลือก” → “LibreOffice” → “ฟอนต์”
- เปลี่ยน “ฟอนต์มาตรฐาน” เป็น
Noto Sans CJK JP
การแก้ไขปัญหาตัวอักษรผิดเพี้ยนในสภาพแวดล้อม CUI
1. ตัวอักษรผิดเพี้ยนเมื่อเชื่อมต่อ SSH
วิธีแก้ไข:
- ตรวจสอบ
locale
บนฝั่งเซิร์ฟเวอร์ว่าตั้งค่าเป็นja_JP.UTF-8
หรือไม่
locale
- หากไม่ใช่
ja_JP.UTF-8
ให้รันคำสั่งต่อไปนี้:
sudo apt install -y language-pack-ja
sudo locale-gen ja_JP.UTF-8
sudo update-locale LANG=ja_JP.UTF-8
การแก้ไขปัญหาตัวอักษรผิดเพี้ยนในแอปพลิเคชันเฉพาะ
1. ตัวอักษรผิดเพี้ยนใน WSL (Windows Subsystem for Linux)
วิธีแก้ไข:
- ตั้งค่าโลเคเลของ WSL เป็น
ja_JP.UTF-8
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
- เปลี่ยนฟอนต์ของ Windows Terminal เป็น
Noto Sans Mono CJK JP
2. ตัวอักษรผิดเพี้ยนภายใน Docker Container
วิธีแก้ไข:
- เข้าสู่ Docker Container และตรวจสอบโลเคเล
docker exec -it container_name bash
locale
- เพิ่มโลเคเลภาษาญี่ปุ่น
apt update && apt install -y locales
locale-gen ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
8. คำถามที่พบบ่อย (FAQ)
Q1. ตั้งค่าโลเคเลแล้ว แต่ตัวอักษรผิดเพี้ยนยังไม่หายไป
A: หากตั้งค่าโลเคเลอย่างเหมาะสมแล้ว แต่ตัวอักษรผิดเพี้ยนยังไม่หายไป ให้ตรวจสอบดังนี้:
locale
หากไม่ใช่ LANG=ja_JP.UTF-8
จำเป็นต้องตั้งค่าใหม่
sudo update-locale LANG=ja_JP.UTF-8
sudo locale-gen ja_JP.UTF-8
sudo dpkg-reconfigure locales
Q2. เฉพาะไฟล์บางไฟล์เท่านั้นที่ตัวอักษรผิดเพี้ยน
A: การเข้ารหัสอักขระอาจแตกต่างกันไปในแต่ละไฟล์ ตรวจสอบการเข้ารหัสอักขระด้วยวิธีต่อไปนี้:
file -i sample.txt
หากไม่ใช่ UTF-8
จำเป็นต้องแปลง
iconv -f SHIFT_JIS -t UTF-8 sample.txt -o sample_utf8.txt
หรือ หากใช้ nkf
:
nkf -w --overwrite sample.txt
Q3. ไม่สามารถพิมพ์ภาษาญี่ปุ่นในเทอร์มินัลได้
A: ตรวจสอบว่าได้ติดตั้งวิธีการป้อนภาษาญี่ปุ่น (Fcitx หรือ IBus) แล้วหรือไม่
sudo apt update
sudo apt install -y fcitx-mozc
im-config -n fcitx
Q4. ภาษาญี่ปุ่นตัวอักษรผิดเพี้ยนใน WSL (Windows Subsystem for Linux)
A: ตั้งค่าโลเคเลของ WSL เป็น ja_JP.UTF-8
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LC_ALL=ja_JP.UTF-8' >> ~/.bashrc
source ~/.bashrc
Q5. ภาษาญี่ปุ่นตัวอักษรผิดเพี้ยนภายใน Docker Container
A: หากโลเคเลของ Docker Container เป็น C.UTF-8
ภาษาญี่ปุ่นจะไม่แสดงผลอย่างถูกต้อง
apt update && apt install -y locales
locale-gen ja_JP.UTF-8
export LANG=ja_JP.UTF-8
export LC_ALL=ja_JP.UTF-8
Q6. เมนูและไดอะล็อกในแอปพลิเคชัน GUI ของ Ubuntu ตัวอักษรผิดเพี้ยน
A: ติดตั้ง fonts-noto-cjk
และเปลี่ยนการตั้งค่าฟอนต์
sudo apt install -y fonts-noto-cjk fonts-ipafont
9. สรุป
ในบทความนี้ เราได้อธิบายอย่างละเอียดเกี่ยวกับปัญหาตัวอักษรผิดเพี้ยนใน Ubuntu สาเหตุ และวิธีการแก้ไข ปัญหาตัวอักษรผิดเพี้ยนเกิดจากการตั้งค่าโลเคเลไม่ถูกต้อง ไม่ได้ติดตั้งฟอนต์ หรือการเข้ารหัสอักขระไม่ตรงกัน แต่สามารถป้องกันได้โดยการตั้งค่าอย่างเหมาะสม
1. สาเหตุหลักของปัญหาตัวอักษรผิดเพี้ยน
- การตั้งค่าโลเคเลผิดพลาด: หากภาษาเริ่มต้นของ Ubuntu เป็น
C
หรือPOSIX
ภาษาญี่ปุ่นจะไม่แสดงผลอย่างถูกต้อง - ไม่ได้ตั้งค่าฟอนต์: หากไม่ได้ติดตั้งฟอนต์ภาษาญี่ปุ่น จะเกิดปัญหาตัวอักษรผิดเพี้ยนใน GUI หรือเทอร์มินัล
- การเข้ารหัสอักขระไม่ตรงกัน: หากเปิดไฟล์ที่มีการเข้ารหัสอักขระแตกต่างกัน (เช่น Shift_JIS) จะเกิดปัญหาตัวอักษรผิดเพี้ยน
- การตั้งค่าเทอร์มินัลหรือโปรแกรมแก้ไขผิดพลาด: หากไม่ได้ตั้งค่าเป็น UTF-8 จะไม่แสดงผลอย่างถูกต้อง
2. วิธีแก้ไขปัญหาตัวอักษรผิดเพี้ยน
รายการ | วิธีแก้ไข |
---|---|
การตั้งค่าโลเคเล | ตรวจสอบด้วยคำสั่ง locale และรัน update-locale LANG=ja_JP.UTF-8 |
การติดตั้งฟอนต์ | sudo apt install -y fonts-noto-cjk fonts-ipafont |
การตรวจสอบการเข้ารหัสอักขระ | ตรวจสอบการเข้ารหัสอักขระของไฟล์ด้วย file -i หรือ nkf --guess |
การแปลงการเข้ารหัสอักขระ | iconv -f SHIFT_JIS -t UTF-8 ชื่อไฟล์ -o ชื่อไฟล์ที่แปลงแล้ว |
การตั้งค่าเทอร์มินัล | ตั้งค่า LESSCHARSET=utf-8 และเปลี่ยนฟอนต์เป็น Noto Sans Mono CJK JP |
ตัวอักษรผิดเพี้ยนใน GUI | ตั้งค่าฟอนต์เป็น Noto Sans CJK JP และใช้ gnome-tweaks หากจำเป็น |
ตัวอักษรผิดเพี้ยนใน WSL | ตั้งค่า LANG=ja_JP.UTF-8 และเปลี่ยนฟอนต์ |
ตัวอักษรผิดเพี้ยนใน Docker | รัน locale-gen ja_JP.UTF-8 และตั้งค่าโลเคเลใน Dockerfile |
3. มาตรการเพิ่มเติม
- อัปเดตระบบเป็นประจำ: หากแพ็คเกจ Ubuntu ล้าสมัย อาจส่งผลกระทบต่อสภาพแวดล้อมภาษาญี่ปุ่น
sudo apt update && sudo apt upgrade -y
- ทำให้การตั้งค่าถาวร: การเพิ่มการเปลี่ยนแปลงลงใน
~/.bashrc
หรือ~/.profile
จะทำให้มีการใช้การตั้งค่าเมื่อล็อกอิน - สำรองข้อมูล: สำรองไฟล์การตั้งค่าเช่น
/etc/default/locale
ก่อนทำการเปลี่ยนแปลง
ข้อสรุปสุดท้าย
ปัญหาตัวอักษรผิดเพี้ยนที่เกิดขึ้นใน Ubuntu สามารถแก้ไขได้โดยการตั้งค่าองค์ประกอบสี่ประการอย่างเหมาะสม: โลเคเล ฟอนต์ การเข้ารหัสอักขระ และการตั้งค่าเทอร์มินัล การใช้วิธีการที่นำเสนอในบทความนี้จะช่วยป้องกันปัญหาตัวอักษรผิดเพี้ยนในสภาพแวดล้อมส่วนใหญ่