วิธีแปลง 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/

วิธีทำให้ Visual Studio Code เปลี่ยนภาษาต่างด้าวได้

สำหรับใครที่ใช้งาน Visual Studio Code หรือ VsCode ในการอ่าน Source code ที่เป็นภาษาญี่ปุ่นหรือภาษาอื่นๆแล้วมักจะเจอตัวหนังสือเป็นภาษาต่างด้าว อ่านไม่ออกแบบนี้

ซึ่งสาเหตุนั้นเป็นเพราะว่าตัวไฟล์ source code มีการเข้ารหัส encode ไม่ถูกต้อง โดยในบทความนี้จะมาสอนวิธีการเปลี่ยน Encode ของโปรเจคของเราให้สามารถอ่านภาษาต่างด้าวนั้นได้

มาเริ่มกันที่ไปที่ File แล้วเลือก Preferences แล้วก็ Setting

แล้วเลือกไปที่ Workspace จากนั้นพิมพ์ Encode ในช่องการค้นหา Setting ได้เลย แล้วก็จะเจอ หัวข้อ Files: Encoding ให้เราเลือก Shiftjis (ในตัวอย่างเป็นไฟล์ภาษาญี่ปุ่น) หรือตัวเลือกที่ตรงกับไฟล์ที่ Encode ที่เราต้องการ

จากนั้นลองมาเปิดไฟล์ในโปรเจคของเราก็จะเห็นว่าสามารถอ่าน Comment ที่เป็นภาษาญี่ปุ่นออกแล้วละ

หากเราลองไปดูที่ไฟล์ Setting.json ใน Folder .vscode ก็จะเห็นว่ามีการ Setting File encoding ตามที่เรา Setting ไว้เลยละ