With trial and error,I found an answer like this:<div><br></div><div><table style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
<tbody><tr>
<td style="border: none;">
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#800080;"> QTextCodec</span><span style=" color:#000000;">::</span>setCodecForLocale<span style=" color:#000000;">(</span><span style=" color:#800080;">QTextCodec</span><span style=" color:#000000;">::</span>codecForName<span style=" color:#000000;">(</span><span style=" color:#008000;">&quot;GB18030&quot;</span><span style=" color:#000000;">));</span></pre>
<pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#000000;"><table style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;">
<tbody><tr><td style="border: none;"><pre style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" color:#808000;">this</span><span style=" color:#000000;">-&gt;</span>m_strTitle<span style=" color:#c0c0c0;"> </span><span style=" color:#000000;">=</span><span style=" color:#c0c0c0;"> </span><span style=" color:#800080;">QString</span><span style=" color:#000000;">::</span>fromLocal8Bit<span style=" color:#000000;">(</span>tag<span style=" color:#000000;">-&gt;</span>title<span style=" color:#000000;">().</span>toCString<span style=" color:#000000;">(</span><span style=" color:#808000;">false</span><span style=" color:#000000;">));</span></pre>
</td></tr></tbody></table></span></pre></td></tr></tbody></table>I found it that I don&#39;t need to judge whether it is Latin1,Maybe GB18030 is compatible to Latin1 :)</div><div><br></div><div>Thx anyway Anton.</div><div>
<br></div><div>I am considering the reason why this works.<br><br><div class="gmail_quote">On Sun, Aug 29, 2010 at 8:37 PM, Anton Sergunov <span dir="ltr">&lt;<a href="mailto:setosha@gmail.com">setosha@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">&gt; I wonder if I could select the encoding of the mp3 tags I am to read.<br>
&gt; Many mp3 here use encoding gb18030 (Chinese).<br>
<br>
</div>Encoding stored in ID3v2 tag. So you dont need to set it manual.<br>
But ID3v1 all strings sould be stored in latin encoding. So old<br>
programs stores tag in local encoding. You can&#39;t know encoding, but in<br>
most cases old incorrected saved tags in local user encoding.<br>
<br>
My Qt solution:<br>
<br>
QString toQString(const TagLib::String&amp; str)<br>
{<br>
  if(str.isLatin1())<br>
    return QString::fromLocal8Bit(str.to8Bit().c_str());<br>
  return QString::fromStdWString(str.toWString());<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>
</blockquote></div><br></div>