วิธีแปลง Shift js เป็น UTF-8 โดย ICONV


บทความนี้จะมาสอนวิธีการแปลง encode โดยใช้ ICONV ในตัวอย่างจะใช้การแปลง Encode ภาษาญี่ปุ่น Encode Shift js เป็น UTF-8 ซึ่งตัวอย่างนี้จะทำบน Windows โดยใช้ LibIconv for Windows

ก่อนอื่นให้เราไปโหลด LibIconv for Windows http://gnuwin32.sourceforge.net/packages/libiconv.htm

เลือก Download • Complete package, except sources
หรือกด Link นี้ http://gnuwin32.sourceforge.net/downlinks/libiconv.php

ทำการติดตั้งตามปกติเสร็จแล้วก็ Restart เครื่อง แล้วทดสอบว่า iconv ใช้งานได้ไหมโดยการเช็คจาก version

ถ้าใช้งานได้ก็ทำขั้นตอนถัดไปนั้นก็คือเริ่มทำการแปลงได้เลย

ตัวอย่างจะเป็นการแปลงไฟล์ test.txt ที่ encode Shift js ไป UTF-8 หลังแปลงแล้วเป็นไฟล์ test2.txt เราสามารถใช้คำสั่งว่า
iconv -f SHIFT_JIS -t UTF-8 test.txt > test2.txt

ซึ่ง สามารถเอาไปใช้กับนามสกุลอื่นก็ได้เช่นไฟล์ code ของเรา .h
iconv -f SHIFT_JIS -t UTF-8 typedef.h > typedef2.h

ตัวอย่างก่อนแปลงเปิดดูใน encode UTF-8 จะเห็นว่าตรง comment อ่านไม่ออกเลยขึ้นเป็นภาษาต่างด้าว

ถ้าเปิดดูใน encode Shift js ก็จะอ่านคันจิออก

หลังแปลงแล้วก็จะได้ไฟล์ typedef2.h เปิดดูใน UTF-8 ก็เห็นว่าอ่านได้แล้วตรงกับต้นฉบับใน Shift js เลย

แต่ข้อควรระวังก็คือใน UTF-8 อาจจะไม่มีคันจิบางตัวอักษร ทำให้อ่านไม่ออกได้เหมือนกัน ซึ่งเพื่อนๆสามารถประยุกต์ใช้งาน ICONV กับ Encode อื่นๆได้ในลักษณะเดียวกัน รวมไปถึงประยุกต์ใช้งานในการแปลง Encode หลายๆไฟล์หรือทั้ง Folder โดยนำ ICONV ไปใช้งานร่วมกับ Scrip ต่างๆได้ โดย Document ฉบับเต็ม และ encode อื่นๆที่ ICONV support สามารถเช็คได้ที่นี้ http://www.gnu.org/software/libiconv/