บทความนี้ขอเสนอวิธีการเซ็ตฟอนต์ไทยในโปรแกรม PuTTY เพื่อให้สามารถแสดงตัวอักษรภาษาไทยได้ถูกต้อง ทั้งการพิมพ์และการแสดงผล ซึ่งหลักการนี้สามารถนำไปใช้กับโปรแกรม Terminal Client อื่นๆ ได้
ตัวอย่างในบทความนี้ทดสอบโดยการใช้ PuTTY เปิด secure shell ไปที่ Fedora 10
เริ่มต้นทดสอบโดยการใช้คำสั่ง echo พิมพ์คำว่า “สวัสดี” ลงไปในโปรแกรม PuTTY แต่หน้าจอแสดงผลเป็น “…..” ทั้งตอนที่เราพิมพ์ลงไป และแสดงผลลัพธ์ออกมา
เหตุผลประการแรกที่โปรแกรม PuTTY ไม่สามารถแสดงภาษาไทยได้ถูกต้องคือปัญหาเรื่อง encoding เพราะว่าลีนุกซ์เวอร์ชั่นใหม่ๆ จะเซ็ต encoding เป็นแบบ “UTF-8” โดยดีฟอลต์ สามารถดูได้จากการรันคำสั่ง “locale” ในที่นี้เป็น “en_US.UTF8”
แต่ในโปรแกรม PuTTY คอนฟิกดีฟอลต์จากการติดตั้ง จะเซ็ต encoding เป็น “ISO-8859-1” ซึ่งสามารถดูได้จาก คลิ้กขวาที่รูปไอคอนด้านซ้ายบนของหน้าจอโปรแกรม PuTTY แล้วเลือกเมนู “Change Settings”
คลิ้กเลือก Category ที่ “Translation” จะขึ้นคอนฟิกเกี่ยวกับเรื่อง encoding ดูที่ “Received data assumed to be in which character set” โดยดีฟอลต์จะเป็น “ISO-8859-1:1998 (Latin-1, West Europe)”
เปลี่ยนคอนฟิกให้เป็น “UTF-8”
ทดลองพิมพ์คำสั่ง echo แล้วตามด้วยตัวอักษรภาษาไทยคำว่า “สวัสดี” อีกครั้ง ในที่นี้การแสดงผลก็ยังไม่ถูกต้องนัก คือไม่สามารถแสดงสระบนล่างได้ถูกต้อง
ปัญหาเรื่องการไม่แสดงสระไม่ครบแบบนี้ สามารถแก้ไขใน PuTTY โดยต้องแก้ไข ฟอนต์ (Font settings) ที่ใช้ คลิ้กเลือก Category ที่ “Appearance” หน้าจอจะแสดงผลเกี่ยวกับ Font โดยดีฟอลต์จะใช้ “Courier New, 10-point”
กดที่ปุ่ม “Change” เพื่อเลือก Font ใหม่เป็น “Fixedsys, Regular, 9-point” แล้วกดปุ่ม [OK]
หลังจากเปลี่ยนฟอนต์แล้ว การแสดงผลตัวอักษรภาษาไทยจะถูกต้อง ทดลองใช้คำสั่ง echo พิมพ์คำว่า “ขอบคุณครับ”
หลังจากคอนฟิกเรียบร้อยแล้ว ถ้าต้องการเซฟค่าคอนฟิกใหม่นี้ของ PuTTY สามารถทำได้โดยกดเลือก Category ที่ Session คลิ้กเลือก “Saved Sessions” ที่ “Default Settings” แล้วกดปุ่ม [Save]
ว้าวๆๆๆๆๆๆๆๆ