Для перевода MP3 тегов из виндовой кодировки (cp1251) в UTF-8 берем id3conv-0.2.1.jar
с http://www.cs.berkeley.edu/~zf/id3iconv/.
Командная строка будет что-то типа:
java -jar id3iconv-0.2.1.jar -removev1 -e cp1251 “Music/Машина Времени/”*
id3conv не поддерживает рекурсию, потому напишем небольшой скрипт:
#!/bin/bash
PWD=`pwd`
for file in `find $PWD -name “*.mp3″`
do
java -jar id3iconv-0.2.1.jar -removev1 -e cp1251 “$file”
done
В общем и все.
P.S. Обнаружил что скрип выше не будет работать с именами в которых есть пробелы (“find” возвращает их как отдельные результаты), исправленный скрипт:
#!/bin/bash
PWD=`pwd`
find $PWD -name ‘*.mp3’ | while read i; do
java -jar id3iconv-0.2.1.jar -removev1 -e cp1251 “$i”
done
find -iname ‘*.mp3’ | awk ‘{print “java -jar ~/bin/id3iconv-0.2.1.jar -removev1 -e cp1251 42″$NE”42”}’|sh
find . -name ‘*.mp3’ -exec java -jar id3iconv-0.2.1.jar -removev1 -e cp1251 {} \;
супер:))))