เซ็ตฟอนต์ไทยใน PuTTY

บทความนี้ขอเสนอวิธีการเซ็ตฟอนต์ไทยในโปรแกรม PuTTY เพื่อให้สามารถแสดงตัวอักษรภาษาไทยได้ถูกต้อง ทั้งการพิมพ์และการแสดงผล ซึ่งหลักการนี้สามารถนำไปใช้กับโปรแกรม Terminal Client อื่นๆ ได้

ตัวอย่างในบทความนี้ทดสอบโดยการใช้ PuTTY เปิด secure shell ไปที่ Fedora 10

เริ่มต้นทดสอบโดยการใช้คำสั่ง echo พิมพ์คำว่า “สวัสดี” ลงไปในโปรแกรม PuTTY  แต่หน้าจอแสดงผลเป็น “…..” ทั้งตอนที่เราพิมพ์ลงไป และแสดงผลลัพธ์ออกมา

Cannot display Thai

 เหตุผลประการแรกที่โปรแกรม PuTTY ไม่สามารถแสดงภาษาไทยได้ถูกต้องคือปัญหาเรื่อง encoding   เพราะว่าลีนุกซ์เวอร์ชั่นใหม่ๆ จะเซ็ต encoding เป็นแบบ “UTF-8” โดยดีฟอลต์ สามารถดูได้จากการรันคำสั่ง “locale”  ในที่นี้เป็น “en_US.UTF8”

Locale 

 แต่ในโปรแกรม PuTTY คอนฟิกดีฟอลต์จากการติดตั้ง จะเซ็ต encoding เป็น “ISO-8859-1”  ซึ่งสามารถดูได้จาก คลิ้กขวาที่รูปไอคอนด้านซ้ายบนของหน้าจอโปรแกรม PuTTY แล้วเลือกเมนู “Change Settings”

Change settings

 คลิ้กเลือก Category ที่ “Translation”  จะขึ้นคอนฟิกเกี่ยวกับเรื่อง encoding   ดูที่ “Received data assumed to be in which character set”  โดยดีฟอลต์จะเป็น “ISO-8859-1:1998 (Latin-1, West Europe)”

Default Translation

 เปลี่ยนคอนฟิกให้เป็น “UTF-8”

Change to UTF-8

ทดลองพิมพ์คำสั่ง echo แล้วตามด้วยตัวอักษรภาษาไทยคำว่า “สวัสดี” อีกครั้ง  ในที่นี้การแสดงผลก็ยังไม่ถูกต้องนัก คือไม่สามารถแสดงสระบนล่างได้ถูกต้อง 

 After UTF-8

 ปัญหาเรื่องการไม่แสดงสระไม่ครบแบบนี้ สามารถแก้ไขใน PuTTY โดยต้องแก้ไข ฟอนต์ (Font settings) ที่ใช้   คลิ้กเลือก Category ที่ “Appearance” หน้าจอจะแสดงผลเกี่ยวกับ Font โดยดีฟอลต์จะใช้ “Courier New, 10-point”

Default Appearance

  กดที่ปุ่ม “Change” เพื่อเลือก Font ใหม่เป็น “Fixedsys, Regular, 9-point” แล้วกดปุ่ม [OK]

Change to Fixedsys

 หลังจากเปลี่ยนฟอนต์แล้ว การแสดงผลตัวอักษรภาษาไทยจะถูกต้อง ทดลองใช้คำสั่ง echo พิมพ์คำว่า “ขอบคุณครับ”

After change font

  หลังจากคอนฟิกเรียบร้อยแล้ว ถ้าต้องการเซฟค่าคอนฟิกใหม่นี้ของ PuTTY สามารถทำได้โดยกดเลือก Category ที่ Session คลิ้กเลือก “Saved Sessions” ที่ “Default Settings” แล้วกดปุ่ม [Save]

Save Default settings

 

ข้อมูลอ้างอิง

One thought on “เซ็ตฟอนต์ไทยใน PuTTY”

Leave a Reply

Your email address will not be published.