Tuesday, September 11, 2007

Unicode กับ ภาษาไทย

แต่ไหนแต่ไรมาเคยเข้าใจผิดๆว่า Unicode ใช้เนื้อที่ในการเก็บข้อมูล 2 bytes เพราะเคยได้ยินแว่วๆว่า โปรแกรมต้อง support double bytes นะจึงสามารถใช้เป็น international ได้ แต่พอมาได้ลองเขียนโปรแกรมด้วย RubyOnRails (RoR) ก็เลยได้มีโอกาสดูตัวเนื้อข้อมูลจริง และ ก็ต้องแปลกใจ ทำไมเก็บข้อมูล "ก" ตัวเดียวจากหน้าจอ Web ที่ set เป็น UTF-8 แต่ทำไมข้อมูลในฐานข้อมูลทั้ง MySQL, Postgresql, SQLite3 ในฟิลด์นั้นมันมีความยาวเป็น 3 ไบต์ เก็บเป็น 0xE0 0xB8 0x81 ครับ งงๆ อยู่หลายวัน และก็ได้ทดลองเป็น Windows-874 ด้วยซึ่ง encoding อย่างหลังนี้เก็บเป็น single byte (0xA1) หรือ ไบต์เดียวนั่นเอง ประหยัดกว่าเยอะเลย ก็เลยมีคำถามต่อไปว่า ควรใช้ UTF-8 หรือ Windows-874 ดี ก็เลยได้ข้อสรุปนิดหน่อยคือ ถ้าต้องการประหยัดที่ก็ใช้ windows-874 หรือ TIS620 อย่างเดิม แต่ถ้่าต้องการให้เก็บข้อมูล ภาษาไทย อังกฤษ ภาษาที่ 3,4,... ด้วยใน field เดียวกันก็ควรจะใช้อย่างน้อยเป็น UTF-8 และอีกอย่างนึงคือ Web development tools อย่างเช่น RoR และ database server นั้นการใช้อย่างอื่นที่ไม่ใช่ UTF-8 นั้นต้องใช้ความรู้มากขึ้นอีกหน่อย เพราะฉะนั้นถ้าจะลดปัญหาของการ interface กันในเชิงข้อมูลผมแนะนำให้กำหนดเป็น UTF-8 ครับ สำหรับผู้ที่อยากรู้เพิ่มเติมเกี่ยวกับการเก็บข้อมูลของ UTF-8 สำหรับภาษาไทย ผมแนะนำให้ไปดูที่ link นี้ครับ "http://www.fileformat.info/info/unicode/char/0e01/index.htm" ซึ่ง link นี้คุณศัลย์ในทีมของผมไปหามาให้ครับ

Saturday, September 08, 2007

ที่มาของชื่อ wooppee

ประมาณสัก 10 ปีก่อนตอนที่จะตั้งบริษัทใหม่ๆ คิดจะทำเป็น project ต้นแบบก่อน ก็เลยพยายามหาชื่อกัน สุดท้าย เพื่อนที่เป็น MD ปัจจุบันนี้หาชื่อมาได้ว่าเป็น wooppee ผมในฐานะ Technical ก็เลยทำการจดโน่นจดนี่โดยใช้ชื่อนี้ตลอด โดยต่อมาตั้งเป็นบริษัทชื่ออื่น ผมก็เลยใช่มาตลอดนับจากวันนั้นครับ แต่เนื่องจากไม่ได้จองไว้ทุกที่ดังนั้นใน Email account จึงต้องกลายเป็น wooppee88@gmail.com ครับ

My blog is back

Just come back.
--Wooppee