ใครที่ใช้งาน linux คงเจอปัญหาเดียวกันหมด นั้นก็คือเวลาฟังmp3 เพลงไทย ตัวโปรแกรมมันอ่านไทยไม่ออก (โง่มากอยู่เมืองไทยอ่านไทยไม่ได้) ตามรูปบน ซึ่งแรกๆผมก็ไม่ได้อะไรกับมันมาก หลังๆเริ่มรำคาญ ซึ่งปัญหาตรงนี้ผมก็ยังไม่ค่อยเข้าใจว่าอะไรยังไงทำไมถึงอ่านไทยไม่ได้ มันเกี่ยวกับ ID3 tag อะไรเนี้ยเละ เดียวว่างๆค่อยไปหาข้อมูล แต่ก็พอเข้าใจว่า เพลง mp3 ในปัจจบันจะใช้รหัสภาษา Unicode ทำให้ตัวโปรแกรมเล่นไฟล์ media เช่น amarok , totem ไม่สามารถอ่านได้ เลยไปถามจารย์ใหญ่(Google) ได้ความตามนี้

วิธีทำ (Thank : คุณสมเจตน์ แห่ง ubuntuclub)
1.โหลดไฟล์ mp3unicode-1.0.1.tar.bz2 จากนั้นทำการแตกไฟล์ออกมาจะได้ Folder ชื่อว่า mp3unicode-1.0.1

2.เข้าไปใน Folder mp3unicode-1.0.1 แล้วหาไฟล์ที่ชื่อว่า mp3unicode.cpp
แล้วใช้โปรแกรมพวก text editor ไปแก้ไข โดยการแทรกข้อความ(สีแดง)เพิ่มเข้าไปจากนั้น เซพ แล้วออกมา

  • $ cd ~/Desktop/mp3unicode-1.0.1
  • $ gedit mp3unicode.cpp

….
….
int main(int argc, char **argv) { cmdParser parser(”mp3unicode”, “1.0.1″); QStringList bit8encodings;
bit8encodings.append(”cp1251″);
bit8encodings.append(”koi8-r”);
bit8encodings.append(”cp874″);
….
….

3.จากนั้นเข้าไปแก้ไขไฟล์ Makefile (กรณีนี้ใช้กับลินุกส์เบสออน Ubuntu)

  • $ gedit Makefile

4.แก้ไขคำว่า -I${QTDIR}/include -L${QTDIR}/lib ไปเป็น
-I /usr/include/qt3 -L /usr/lib/qt3 จากนั้นเซพแล้วออกมา

5.ติดตั้ง packet ต่างๆที่จำเป็นในการคอมไพล์งานครั้งนี้ (base on ubuntu)

  • $ sudo apt-get install build-essential libtag1-dev libqt3-mt-dev

6.ทำการคอมไพล์ด้วยคำสั่ง make

  • $ make : ขั้นตอนนี้เรายังอยู่ใน folder mp3unicode-1.0.1

7.หลังจากคอมไพล์โดยปราศจาก Error จะได้แฟ้ม mp3unicode ให้ทำการคัดลอกแฟ้มดังกล่าวไปยังตำแหน่งที่เหมาะสมกับการเรียกใช้งาน

  • $ sudo cp -f mp3unicode /usr/local/bin

ตอนนี้เราก็จะได้ตัวโปรแกรมแปลง ID3 Tag แล้วแต่เป็นแบบไฟล์ต่อไฟล์ ก็คือสามารถแปลงได้แค่ไฟล์เดียวเท่านั้นเอง โดยใช้คำสั่ง
mp3unicode –source-encoding cp874 –id3v1-encoding none –id3v2-encoding unicode [file.mp3]
ซึ่งถ้าเกิดเรามี mp3 เยอะๆล่ะ ไม่ต้องมานั่งแปลงจนเบื่อไปเลยหรอไงเนี้ย - - อย่ากระนั้นเลยไปทำให้มันสามารถแปลงได้ทั้ง folder ที่มีเพลงของเราเลยดีกว่า… อ้าวสู้ต่อไปทาเคชิ!!!

วิธีทำ (Thank : คุณสมเจตน์ แห่ง ubuntuclub)
1.ทำการสร้างสคริป

  • $ sudo touch /usr/local/bin/tag2utf
  • $ sudo chmod 755 /usr/local/bin/tag2utf
  • $ sudo nano /usr/local/bin/tag2utf

2.เขียนคำสั่งเชลล์สคริปดังตัวอย่าง

#!/bin/bash
# FROM Master phong_th (ARTICLE AT:)
# AND Master Widdaya (ADVANCED MODIFIED:)

SKEL=”*mp3 *MP3 *Mp3″

processfile() {
local i
for i in $SKEL; do
if [ -f "$i" ]; then
chmod +w “$i”
echo “Encoding: $i”
mp3unicode –source-encoding cp874 –id3v1-encoding none –id3v2-encoding unicode “$i”
fi
done
for i in *; do
if [ -d "$i" ]; then
echo “enter directory $i”
pushd “$i”
processfile
echo “exit directory $i”
popd
fi
done
}
processfile

3.จากนั้นก็จัดการเซพแล้วออกมา แล้วถ้าจะใช้งานก็ให้สั่งผ่าน terminal โดยให้ไปอยู่ ณ. ตำแหน่งของ folder ที่จะทำการแปลง แล้วจากนั้นใช้คำสั่ง tag2utf แค่นี้ตัวโปรแกรมเล่นไฟล์ media ก็จะสามารถอ่านไฟล์เพลงภาษาไทยออกแล้ว เย้ๆ ในที่สุดมันก็เป็นคนไทย หึหึ เดียวไปทำบัตรประชาชนให้ด้วยเลยดีกว่า

แหล่งอ้างอิง : http://linuxtip.blogspot.com/2007/02/id3-tag-part-ii.html

เป็นอันเสร็จเรียบร้อยโรงเรียน Anfield