解决android获取URL中文路径乱码
来源:互联网 发布:深蓝色windows梦幻背景 编辑:程序博客网 时间:2024/06/06 09:03
URl用中文去访问是没有问题的,因为android在内部进行了转码。 但是从URL获取文件名的时候,因为android已经转过码,所以得到的就是乱码了。这时候需要用到android提供的方法Uri.decode()获取正确的中文路径。 此方法返回的路径带有:file:// 所以,需要截取一下才能用。
--------------------------------------------------------------------------------------------
以下是转自:http://blog.csdn.net/dyfleoo/article/details/7740880。 谢谢你的贡献
---------------------------------------------------------------------------------------------------------------
工作时遇到一个问题,我在VideoActivty中找到一个视频文件,启动Gallery3D中的MovieView来进行播放,然后在MovieView端得到此文件的路径。我当时传进了一个:
String mpath = "/mnt/sdcard/叶问2.mp4";
的路径,其中文件名是中文的。然后我在MovieView中得到的文件名竟然是乱码,最开始我是这么处理的:
VideoActivty处的代码大致为:
- String type = "video";
- File f = new File(mpath);
- Uri uri = Uri.fromFile(f);
- Intent intent = new Intent();
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setAction(android.content.Intent.ACTION_VIEW);
- intent.setDataAndType(uri, type);
- this.startActivity(intent);
String mpath = "/mnt/sdcard/叶问2.mp4"; String type = "video"; File f = new File(mpath); Uri uri = Uri.fromFile(f); Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(uri, type); this.startActivity(intent);
MovieView处理时用了异想天开的转码方式:
path = new String(mUri.toString().getBytes("utf-8"), "GBK");
发现无论怎样处理都无法转成中文。通过查看官方文档发现URI把我们的path转成了RFC 2396格式,不懂啊。。。
其实URI已经考虑到了这种情况。琢磨后用了这种方式得到了中文路径。
Intent intent2 = getIntent(); Uri mUri = intent2.getData(); String path = intent2.getDataString(); path = Uri.decode(path).substring(7, path.length()); android.util.Log.d("URI", "path is " + path);
Uri.decode函数Google已经帮我们实现好了。只是我这个码农没有发现。。。。。。记录于此,供后来人参考。
- 解决android获取URL中文路径乱码
- 解决URl中文路径乱码问题
- android url 中文请求,乱码解决
- url解决中文乱码
- URL中文乱码解决
- 解决url中文乱码
- URL中文乱码解决
- 解决jsp中获取url传参中文乱码问题
- jquery获取URL中参数,解决中文乱码问题
- jquery获取URL中参数,解决中文乱码问题
- js获取url中的中文参数出现乱码解决
- js获取url中的中文参数出现乱码解决
- url中文乱码解决大全
- url中文乱码解决大全
- url中文乱码解决大全
- url传递中文乱码解决
- url中文乱码解决大全
- url中文乱码解决大全
- 设计模式23 访问者模式 - Visitor
- Linux根文件系统突然出了点问题
- MYSQL数据备份与恢复的相关操作命令
- Book Two - The Ancient Masters(第二篇 古代的大师)
- MFC中全局变量的定义及使用
- 解决android获取URL中文路径乱码
- 浏览器的用户脚本管理工具
- 文件操作
- CMultiDocTemplate浅谈
- Oracle + SQL 学习笔记
- 10个有用的第三方iOS开源库
- 100个windows平台C++开发错误之九case
- 用JavaScript(js)对时间格式化
- 拖欠(期)订单处理