Yes.š<div><br></div><div>Usually id3 tag has both id3v1 and id3v2 tags.š</div><div><br><div>Id3v1 should have all text fields latin1 encoded.š</div><div>But by historical reasons it usual (thanks to winamp player) has local windows encoding.š</div>

<div>Because it was only way to save non latin1 strings.</div><div><br></div><div>so tagLib has TagLib::ID3v1::Tag::setStringHandler() function to overwrite id3v1 string encoder.</div><div><br></div><div><br></div><div>id3v2 has encoding field and can use unicode-16 utf-8.</div>

<div>But I saw my own eyes id3v2 fields saved this way.</div><div>I think some software translte id3v1 tags to id3v2 as is.
</div><div><br></div><div>That's why a told you to check TagLib::String::isLatin1 and then convert to unicode from user's local windows encoding.</div><div><br></div><div><div class="gmail_quote">2012/7/16 Christian Convey <span dir="ltr"><<a href="mailto:christian.convey@gmail.com" target="_blank">christian.convey@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">So is the following correct regarding libtag, and mp3 files using<br>
ID3v2.2? š(Please forgive me if I'm getting too off-topic of libtag.<br>
I'll stop asking whenever you like.)<br>
<br>
The "latin1" coding, strictly speaking, refers to ISO 8859-1.<br>
<br>
What Microsoft calls "cp1250" and "cp1252" are also eight-bit<br>
character encodings. šThese two encodings are consistent with ISO<br>
8859-1, but they are supersets of 8859-1.<br>
<br>
When an ID3v2.2 tag has a field (such as Title) encoded in cp1250 or<br>
cp1252, the field's "type" byte will indicate that the "latin1"<br>
encoding is being used. šHowever, there is not enough information in<br>
the ID3 metadata to know with certainty whether the actual code page<br>
is cp1250, cp1252, or something else.<br>
<br>
Is that it?<br>
<br>
Thanks again.<br>
<span class="HOEnZb"><font color="#888888">- Christian<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sun, Jul 15, 2012 at 12:40 PM, áÎÔÏΠóÅÒÇÕÎÏ× <<a href="mailto:setosha@gmail.com">setosha@gmail.com</a>> wrote:<br>
> windows cp1250 or cp1252 for german<br>
><br>
><br>
> 2012/7/15 Christian Convey <<a href="mailto:christian.convey@gmail.com">christian.convey@gmail.com</a>><br>
>><br>
>> Thanks very much, that's a big help.<br>
>><br>
>> Do you happen to know if it's common for MP3 tagging software to use<br>
>> character encodings *other than* the five valid ID3v2 encodings<br>
>> (latin1, UTF16, UTF16BE, UTF16LE, and UTF8) ?<br>
>><br>
>> I'm trying to anticipate how many different character encodings I'll<br>
>> have to try out when debugging this MP3 file.<br>
>><br>
>> Thanks,<br>
>> Christian<br>
>><br>
>> On Sun, Jul 15, 2012 at 11:27 AM, áÎÔÏΠóÅÒÇÕÎÏ× <<a href="mailto:setosha@gmail.com">setosha@gmail.com</a>><br>
>> wrote:<br>
>> > TagLib doesn't convert strings. It read encoding (String::Type) and raw<br>
>> > data<br>
>> > (ByteArray) from file.<br>
>> > You can then perform conversion with String::toWString() but before it<br>
>> > contains raw byte data from file.<br>
>> ><br>
>> > But I can't find function to get type enum here.<br>
>> > So you can get raw data with String::data(Type t)<br>
>> ><br>
>> ><br>
>> > 2012/7/15 Christian Convey <<a href="mailto:christian.convey@gmail.com">christian.convey@gmail.com</a>><br>
>> >><br>
>> >> Thanks. šBut this is actually a podcast run by someone else:<br>
>> >> <a href="http://www.dw.de/dw/0,,2548,00.html" target="_blank">http://www.dw.de/dw/0,,2548,00.html</a><br>
>> >><br>
>> >> So actually fixing the problem is outside of my power. šWhat I'd like<br>
>> >> to do is research the problem with their mp3 files carefully, so that<br>
>> >> I can tell them precisely with the problem is.<br>
>> >><br>
>> >> (For example, "Your mp3 tagging software is claiming that the text is<br>
>> >> encoded using UTF-8, but it's actually UTF-16.")<br>
>> >><br>
>> >> On Sun, Jul 15, 2012 at 10:52 AM, áÎÔÏΠóÅÒÇÕÎÏ× <<a href="mailto:setosha@gmail.com">setosha@gmail.com</a>><br>
>> >> wrote:<br>
>> >> > Most common id3 encoding problem is using local 8bit win encoding in<br>
>> >> > Latin1<br>
>> >> > fields. You can use special Latin1 handler or (better works for me)<br>
>> >> > if<br>
>> >> > string is in Latin1 convert it to local 8 bit windows encoding.<br>
>> >> ><br>
>> >> > 15.07.2012 21:35 ÐÏÌØÚÏ×ÁÔÅÌØ "Christian Convey"<br>
>> >> > <<a href="mailto:christian.convey@gmail.com">christian.convey@gmail.com</a>> ÎÁÐÉÓÁÌ:<br>
>> >> >><br>
>> >> >> I'm new to ID3 tag handling. šCan you tell me if taglib can be used<br>
>> >> >> to<br>
>> >> >> solve a particular problem?<br>
>> >> >><br>
>> >> >> I have MP3 files frm a podcast, and I suspect that there's an<br>
>> >> >> inconsistency between the actual encoding of the ID3v2.2 Title<br>
>> >> >> field,<br>
>> >> >> and the byte that states what encoding is used for that string.<br>
>> >> >><br>
>> >> >> Can taglib tell me which encoding the file *claims* to have for that<br>
>> >> >> field?<br>
>> >> >><br>
>> >> >> And can I get taglib to give me the bytes in the ID3v2.2 Title field<br>
>> >> >> *without* taglib automatically performing some kind of<br>
>> >> >> character-encoding translation?<br>
>> >> >> _______________________________________________<br>
>> >> >> taglib-devel mailing list<br>
>> >> >> <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
>> >> >> <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
>> >> ><br>
>> >> ><br>
>> >> > _______________________________________________<br>
>> >> > taglib-devel mailing list<br>
>> >> > <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
>> >> > <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
>> >> ><br>
>> >> _______________________________________________<br>
>> >> taglib-devel mailing list<br>
>> >> <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
>> >> <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
>> ><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > taglib-devel mailing list<br>
>> > <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
>> > <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
>> ><br>
>> _______________________________________________<br>
>> taglib-devel mailing list<br>
>> <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
>> <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> taglib-devel mailing list<br>
> <a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
> <a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
><br>
_______________________________________________<br>
taglib-devel mailing list<br>
<a href="mailto:taglib-devel@kde.org">taglib-devel@kde.org</a><br>
<a href="https://mail.kde.org/mailman/listinfo/taglib-devel" target="_blank">https://mail.kde.org/mailman/listinfo/taglib-devel</a><br>
</div></div></blockquote></div><br></div></div>