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")