Thai to Unicode

Page นี้จะรวบรวมข้อมูลทั้งหมดที่เกี่ยวข้องกับโปรแกรม Thai to Unicode สำหรับ iTunes ไว้ในที่เดียวกัน

หากเห็นว่าเป็นประโยชน์ ก็ขอรบกวน donate ผ่าน Paypal โดยใช้ปุ่ม Buy Now ด้านขวานี้ด้วยนะครับ หรือจะโอนผ่านทางบัญชีธนาคารกรุงเทพ สาขาย่อยเซ็นทรัล บางนา บัญชีสะสมทรัพย์ เลขที่ 046-0-30072-6

Download: ThaitoUnicode.dmg

ตัวติดตั้งจะตรวจสอบด้วยว่าเครื่องที่ติดตั้งนี้ใช้ OS X รุ่นตั้งแต่ 10.5 ขึ้นไปหรือเปล่า

วิธีติดตั้ง

  1. double click ที่ไฟล์ dmg จะเห็นตัวติดตั้ง script
  2. double click ที่ตัวติดตั้ง ทำตามขั้นตอนไปเรื่อยๆ

วิธีใช้

  1. เลือกชื่อเพลงใน iTunes
  2. เลือกเมนู script ข้างบน แล้วก็เลือก Thai to Unicode — ที่เดียวกับ ThaiTunes นั่นล่ะ

รายละเอียดตัวโปรแกรม

จุดเริ่มต้นมาจากการคาดเดาว่า สามารถแปลงรหัส Latin 1 ที่เทียบเคียงได้กับ TIS620 ไปเป็น unicode เพื่อใช้งานได้เลย เนื่องจากเข้าใจว่า iTunes มันอ่านชื่อเพลงที่เป็น ascii แล้วก็แปลงให้เป็น unicode ด้วย character encoding แบบ Latin-1 (iso 8859-1) ซึ่งจะแปลงไปเป็น Unicode ภาษาไทยได้ตรงๆ

แต่จริงๆ แล้วมันกลายเป็นว่า iTunes ได้แปลงรหัสของตัวอักษรบางตัวออกไปนอกเหนือจาก iso 8859-1 ทำให้การทำงานของ script เดิมผิดพลาด

คราวนี้เลยต้องมาดูว่า iTunes มันแปลงรหัสของตัวอักษรอย่างไร วิธีการที่ใช้ก็คือกำหนดชื่อเพลงใน id3 tag ของไฟล์ mp3 เป็นตัวอักษรตั้งแต่ 128 ไล่ไปจนถึง 255 แล้ว import เข้าไปใน iTunes จากนั้นก็ดูในชื่อเพลงที่ iTunes มันแปลงแล้วว่ามันกลายเป็นอะไรไป

ในการแก้ไข id3 tag นั้นก็ได้เขียนโปรแกรมด้วย Java โดยอาศัย Java ID3 Tag Library เป็นตัวช่วย

ผลที่ได้คือรู้ว่า iTunes ได้แปลงรหัสตัวอักษรในส่วนที่เป็นภาษาไทยของ TIS-620 (รหัสตั้งแต่ 161 จนถึง 251) โดยคิดว่าเป็น Latin ไปดังนี้

สำหรับตัวอักษรอื่นๆนอกจากรายการข้างต้นนั้น ไม่ได้ถูกเปลี่ยนรหัสตัวอักษรแต่อย่างใด

จากข้อมูลที่ได้มาทั้งหมดก็ต้องเอาไปเขียน script ใหม่ โดยแก้ไขส่วนที่เป็นการแปลงรหัสเป็นอย่างในรูป

3 thoughts on “Thai to Unicode”

  1. Would this work on Windows Itunes?
    I have many thai songs in iTunes but the name is all not showing correctly.
    Do you know how can i show the thai characters in unicode in windows itunes?
    Thank you,

  2. Sorry, Mike. This would work only in Mac OS X because it uses scripting mechanism tied with the OS.

Leave a Reply

Your email address will not be published. Required fields are marked *