I have a rather large MP3 collection. The directories and files are named correctly more or less, but ID3 tags used to be a mess until very recently. Two applications helped me to bring some order in that mess.
EasyTag, a GUI application, that helped me to fix lots of broken and add lots of missing comments to my MP3 files. The smart thing about this program is that it can figure out a lot of data from the names of the files and directories, and that it can grab and replicate partial data from within the albums.
The second program that I wanted to mention, I just found out about today (thanks to Michael Stepanov’s delicious bookmarks). It’s called tag2utf. It’s a little Python script that converts the encoding of ID3 tags from koi8 or cp1251 (two most widely used Russian encodings) to utf8. It’s very easy to install (the only requirement my system needed was python-eye3d library, which exists in Fedora repository) and use. Just run it from the command line with no parameters and it will recursively look in the current directory for any files that have ID3 tags in non-utf8 encoding. It will then give you a choice of two encodings to select from (koi8 or cp1251), a “skip” option, and a “manual” option. All you will have to do is take a quick look at the files, and chose to either convert them from one of the two options, skip them or convert manually one by one. You will have to make this choice for every directory with non-utf8 files. Optionally, you can specify on the command line which directories to scan. In case you need to convert from some other non-Russian encoding to utf8, the script is trivial to modify.
Both tools are excellent pieces of software. It took me practically no time at all to fix my mp3 collection. Now I can search it better, and all files display nicely in any mp3 player. Brilliant stuff!