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