non latin1 id3v2 support

paul-henri.ferme paul-henri.ferme at
Sat Nov 27 06:06:40 CET 2004

Hi all,

We are developping a musical file manager named "prokyon3" and are now 
using taglib by default. It has many advantages for us as it provides a 
standard API and we add support for new format quite easily: in most 
case we do not have anything to do other then adding a new extension to 
list of deteted files :-)

we are still finetuning  for our new release (beta at the moment) the 
support for non latin1 encoding.

In reference to Scott's comment below, I understand that non latin1 
encoding are often found in id3V1, although not supported by standards.
so it is probably a good idea to support them in prokyon3.

But what about id3v2?
Are there lots-of  non-latin1 encoded id3v2 files out there?
Will this make sense to support them as well?

How can we expand taglib to support more than Latin1, UTF-16, UTF-8?


ID3v1 technically isn't supposed to contain anything other than 
ISO-8859-1 ("Latin 1").  Granted, that doesn't stop some applications 
putting non-Latin1 data in them, but that's actually incorrect.

For handling such it is possible to override the default behavior in 
TagLib in case you want to force it to use the current locale while 
reading or writing.

The API for such is here:

And there's an example here:

ID3v2 has a fixed set of supported codecs (Latin1, UTF-16, UTF-8) and
TagLib supports all of those.  You can set the default using
TagLib::ID3v2::FrameFactory::setDefaultTextEncoding(), covered here:

More information about the taglib-devel mailing list