Lmplayer技术之id3乱码的解决方法
mp3文件中的中文标签一般是在Windows操作系统下加入的,一般为gb18030编码。 在Gstreamer中获得标签原来是通过元件gstmad来处理的,现在是在id3mudex中处理。 id3mudex也考虑了编码的问题,但它首先假设标签编码为iso-8859-1或unicode,然后 将其转化为utf-8。转化过来的当然是乱码。
一种方法是由gnome-cn提出来的,请看这里。 可以给id3mudex打上补丁。我没有试过,估计可行。
但是gstreamer不断的更新,每一次都要给它打补丁,然后编译,不是很方便,我想最好能在播放器中加以解决。我的方法是做逆向处理,方法如下:
标签的本来的编码是gb18030,id3mudex做了如下转化,iso-8859-1 => utf-8。现在 把它反过,即 utf-8 => iso-8859-1,这样其实又还原回了gb18030,然后再做转化: gb18030 => utf-8。看起来很简单吧!
