March 4, 2013

ทำให้ DOS Box ของ Windows XP แสดงผลภาษาไทยได้


เนื่องจากผมจำเป็นต้องทดสอบโปรแกรมที่อยู่ใน DOS และมีการแสดงผลภาษาไทยอยู่ด้วย
จึงต้องการตั้งให้หน้าจอ DOS Box สามารถแสดงภาษาไทยได้

ก่อนหน้านี้จำได้ว่ามันมีเมนูใน DOS Box เลยว่าจะตั้งให้แสดงผลเป็นภาษาไทย แต่ตอนนี้หาไม่เจอ และไม่สามารถทำได้

จึงต้องค้นหาเอาในเว็บ
พบวิธีการทำหลายแห่งแต่คล้ายๆกัน คือ ต้องตั้งฟอนต์ภาษไทยแบบความกว้างคงที่ลงไปก่อน คือ  courmon.ttf เสร็จแล้วไปแก้ไข Registry ให้เมนูของ DOS Box มองเห็นฟอนต์ตัวนี้ ก็จะใช้ได้

แต่การแก้ไข Registry ด้วยมืออาจเสี่ยงไปหน่อย จึงมีผู้ทำเป็นไฟล์ .reg ให้เรียกใช้เลย
ผมก็ทำแบบนี้ ก็ใช้ได้

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

แหล่งข้อมูล
http://www.it4x.com/forum/index.php?topic=4998.0
http://www.justusers.net/articles/others/thaidosxp/thaidosxp.htm ที่นี่จะมีรายละเอียดมากหน่อย

February 14, 2013

การกำหนด charset (tis-620, utf-8) ให้กับ Web page

สำหรับผู้ที่สงสัยว่าการกำหนด charset ให้กับหน้าเว็บที่มีภาษาไทยนั้น ควรกำหนดเป็น tis-620 หรือ utf-8 หรือ windows-874 แบบไหนจะดีกว่ากัน

ผมจึงได้ลองทดสอบเทียบกันดู (แต่ได้ตัด windows-874 ออก เพราะคิดว่ามันเป็นมาตรฐานเฉพาะของ Microsoft เท่านั้น)

ผมได้สร้างไฟล์ที่มี Tag <meta http-equiv="content-Type" content="text/html; charset=tis-620">
แล้วลองใช้ charset 3 แบบ คือ ไม่กำหนด, tis-620 และ utf-8

แล้วบันทึกเป็นแบบ ANSI, Unicode, UTF-8 ด้วย Notepad
จากนั้นใช้ Firefox เปิดดู แล้วตรวจสอบว่าภาษาไทยอ่านออกหรือไม่ และดูว่า Firefox เลือก Encoding ให้เป็นแบบใด

การเข้ารหัสตัวอักษรไทย แบบ ANSI, Unicode และ UTF-8

หากเราสร้างไฟล์ที่มีภาษาไทยด้วย Notepad
แล้วสั่งบันทึก หรือสั่ง Save As จะมีถามให้เลือก Encoding 4 แบบ
-ANSI
-Unicode
-Unicode big endian
-UTF-8
แล้วเราควรจะเลือกแบบไหน?
มาลองดูกันครับ