Cursor扫描本地音乐文件,英文名也出现乱码,怎么解决。
public List<LocalMp3> getListByLocal() {
Cursor cursor = getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null,
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
List<LocalMp3> localMp3s = new ArrayList<LocalMp3>();
for (int i = 0; i < cursor.getCount(); i++) {
LocalMp3 localMp3 = new LocalMp3();
cursor.moveToNext();
String title = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.TITLE));
String artist = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.ARTIST));
long duration = cursor.getLong(cursor
.getColumnIndex(MediaStore.Audio.Media.DURATION));
String mp3url = cursor.getString(cursor
.getColumnIndex(MediaStore.Audio.Media.DATA));
int isMusic = cursor.getInt(cursor
.getColumnIndex(MediaStore.Audio.Media.IS_MUSIC)); // 判断是否音乐
if (isMusic != 0) {
localMp3.setTitle(title);
localMp3.setArtist(artist);
localMp3.setDuration(duration);
localMp3.setMp3url(mp3url);
localMp3s.add(localMp3);
}
}
return localMp3s;
}模拟器内的音乐文件只有一个,而且是文件名全英,如图:

在模拟器里测试生成列表,显示全部为问号的乱码,如图:

用真机来测试,有些是乱码,有些能正常显示(有些中文也能正常显示),如图:

请问应该怎么解决这个乱码问题,网上找的方法不管用,望各位大神出手相助了!
相关推荐
android读取sd卡中音乐文件列表
android通过代码读取手机sd卡中的音乐文件,放在adapter中,然后放到一个ListView中,做音乐列表
Android中通过MediaStore获取音乐文件信息方法
主要介绍了Android中通过MediaStore获取音乐文件信息方法,本文讲解了获取歌曲的名称、歌曲的专辑名、歌曲的歌手名、歌曲文件的全路径、歌曲文件的名称、歌曲文件的发行日期等音乐文件信息的方法,需要的朋友可以参考下
解决Cursor GBK乱码[项目代码]
在使用Cursor编辑器打开GBK/GB2312编码的老项目时,中文注释或字符串常显示为乱码。本文提供了快速解决方案:通过在项目根目录下的.vscode/settings.json文件中配置files.encoding为gbk,并启用files.autoGuessEncoding,Cursor将默认使用GBK编码打开文件。对于已打开的文件,可通过右下角选择Reopen with Encoding → Chinese (GBK)重新载入。这种方法无需修改源码编码,简单高效,适合需要立即解决乱码问题的场景。
Cursor中文乱码解决[可运行源码]
本文详细介绍了在Cursor软件中遇到Python代码输出中文乱码问题的解决方法。作者通过实际操作发现,输入英文时正常显示,但中文输出会出现乱码。针对这一问题,作者提供了具体的解决步骤:首先通过右键点击“此电脑”选择属性,进入高级系统设置,然后在系统属性窗口中点击环境变量,新建一个名为PYTHONIOENCODING的变量,并将其值设置为utf-8。完成设置后重启Cursor,问题即可解决。作者还谦虚地表示这是第一次分享解决问题的经验,希望与同行共同探讨和完善。
Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码
Java代码中Redis的scan方法中cursor(即scanResult.getStringCursor())返回乱码错误信息遍历问题scan用法Java代码及问题错误原因新的问题 错误信息 新学redis,某天用scan操作做个删除某些键的小测试,碰到如下报错。 after the scan-action, the cursor equals : 㠵㔰� Exception in thread "main" redis.clients.jedis.exceptions.JedisDataException: ERR invalid cursor at redis.clients.jed


