how to select the encoding of the mp3 tag to read?
berlinud
berlinudberlinud at gmail.com
Mon Aug 30 04:43:35 CEST 2010
With trial and error,I found an answer like this:
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB18030"));
this->m_strTitle = QString::fromLocal8Bit(tag->title().toCString(false));
I found it that I don't need to judge whether it is Latin1,Maybe GB18030 is
compatible to Latin1 :)
Thx anyway Anton.
I am considering the reason why this works.
On Sun, Aug 29, 2010 at 8:37 PM, Anton Sergunov <setosha at gmail.com> wrote:
> > I wonder if I could select the encoding of the mp3 tags I am to read.
> > Many mp3 here use encoding gb18030 (Chinese).
>
> Encoding stored in ID3v2 tag. So you dont need to set it manual.
> But ID3v1 all strings sould be stored in latin encoding. So old
> programs stores tag in local encoding. You can't know encoding, but in
> most cases old incorrected saved tags in local user encoding.
>
> My Qt solution:
>
> QString toQString(const TagLib::String& str)
> {
> if(str.isLatin1())
> return QString::fromLocal8Bit(str.to8Bit().c_str());
> return QString::fromStdWString(str.toWString());
> }
> _______________________________________________
> taglib-devel mailing list
> taglib-devel at kde.org
> https://mail.kde.org/mailman/listinfo/taglib-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/taglib-devel/attachments/20100830/1eea499d/attachment.htm
More information about the taglib-devel
mailing list