当前位置:编程学习 > wap >>

android系统音乐播放器显示乱码

最近有个bug,系统音乐播放器在系统默认语言问中文繁体的时候,sd卡存储简体中文名字的音频文件,在音乐播放器里的艺术家、姓名等都出现了乱码。注意前提是系统默认语言为繁体中文下

跟到framework里的MediaScanner.java
public void handleStringTag(String name, String value)打印的value值是
01-10 01:33:19.639:  mTitle==桲需藤
01-10 01:33:19.639:  title1===null
01-10 01:33:19.639:  title2===听海-张惠妹
01-10 01:33:19.639:  album===<unknown>
01-10 01:33:19.669:  mTitle==渴驚屬
01-10 01:33:19.669:  mTitle==崋欴
01-10 01:33:19.669:  title1===崋欴
01-10 01:33:19.669:  album===崋欴
01-10 01:33:19.689:  mTitle==笚梨棡
01-10 01:33:19.689:  mTitle==笚梨棡 - 淩腔疑砑斕
01-10 01:33:19.689:  title1===笚梨棡 - 淩腔疑砑斕
01-10 01:33:19.689:  album===冪萎橾貉

这个value值是从MediaScannerClient.cpp中来的
其中有个setLocale(const char* locale)
if (!strcmp(locale, "zh_CN")) {
            // simplified chinese for mainland China
            mLocaleEncoding = kEncodingGBK;
        } else {
            // assume traditional for non-mainland Chinese locales (Taiwan, Hong Kong, Singapore)
            mLocaleEncoding = kEncodingBig5;
        }
kEncodingBig5 是中文繁体标准字符集

我认为问题是不是从中文简体直接解码成中文繁体会出现乱码呢?有什么方法可以避免吗?求大神帮忙啊!!!! Android 编解码 系统音乐播放器
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,