日期:2014-05-20  浏览次数:20793 次

android(java) 中文乱码的问题
中文乱码一直是困扰着程序员的一个问题,网上搜了好多解决办法,都不尽人意,希望能找到高手呀。。。

问题:我是从音乐文件中用MediaMetadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_TITLE )这个方式,提取出音乐文件的Title,但是提取出来的中文,有的可以正常显示,有的则显示为乱码。

看到网上有这样的解决方法: String test = new String(title.getBytes("ISO-8859-1"), "GBK");试验了一把,结果是:原来显示为乱码的,经过这个方法处理后能正常显示中文汉字了,但是,原来可以正常显示的那些汉字,被转换成乱码了。

好像是直接从音乐文件中提取出来的这个中文的Title,本身的编码格式不确定,转换的时候就出现了这么怪异的现象。

哪位高手知道这个问题该怎么解?求解答....

注意:这不是jsp,也不是servlet,那种处理界面乱码的方法不适合。

------解决方案--------------------
呵呵,你首先要搞清楚,你读取的文件是什么编码格式。

你只所以会出现这种问题,是因为你读取的文件,

编码不同,有的是UTF-8,有的是GBK

,你的处理是

Java code

String test = new String(title.getBytes("ISO-8859-1"), "GBK")

------解决方案--------------------
不信你改成
Java code

String test = new String(title.getBytes("ISO-8859-1"), "UTF-8")