解决URL路径包含中文以及特殊符号
来源:互联网 发布:cf手游抢红包软件 编辑:程序博客网 时间:2024/05/17 02:29
浏览器中不能直接传递中文以及一些特殊符号,一般转unicode编码,对于一些特殊符号,编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。例如 空格的编码值是"%20"。
处理方法是,通过URLEncoder转为utf-8编码,然后将+全部替换为%20。
/** *@param urlpath *@param isFile *@return *-------------------- *TODO 将url里面的中文路径的斜杠捕捉转为正常,同时中文转码 *-------------------- */public static String ecodeUrlWithUTf8(String urlpath, Boolean isFile) {if (urlpath == null)return "";urlpath = urlpath.replaceAll("\\\\+", "/");// 替换所有反斜杠String decodedurl = "";try {URL url = new URL(urlpath);decodedurl = "http://" + url.getHost() + ":" + url.getPort();String path = url.getPath();System.out.println(path);String[] paths = path.split("\\/");String fileExtension = "";if (isFile && paths.length > 0 && paths[paths.length - 1].contains(".")) {// 最后一个有.// //// ,说明可能是文件后缀String laststr = paths[paths.length - 1];String[] splits = laststr.split("\\.");fileExtension = "." + splits[splits.length - 1];int index = laststr.length() - fileExtension.length();paths[paths.length - 1] = laststr.substring(0, index);}String decodepath = "";for (int i = 0; i < paths.length; i++) {if (paths[i] != null && paths[i].length() > 0) {// 这里传入的链接必须是uft-8编码String str = "";str = URLEncoder.encode(paths[i], "UTF-8").replace("+", "%20");decodepath = decodepath + "/" + str;}}decodedurl = decodedurl + decodepath + fileExtension;} catch (Exception e) {return urlpath;}return decodedurl;}
0 0
- 解决URL路径包含中文以及特殊符号
- url传递中的特殊符号的编码以及中文编码
- 解决python3 网络请求路径包含中文
- 解决android获取URL中文路径乱码
- 解决URl中文路径乱码问题
- 【WEB】url路径包含中文和表单get请求包含中文
- URL中包含中文时fileNotFoundException解决1
- 解决url中包含中文导致的乱码
- URL中包含中文时fileNotFoundException解决1
- webview图片上传以及中文路径解决
- URL包含中文问题
- 解决URL中包含以及不包含https、www时引起的JS跨域问题
- tomcat 中文url路径
- URL路径含中文
- Tomcat的URL中文乱码解决以及传输优化
- Tomcat的URL中文乱码解决以及传输优化
- Tomcat的URL中文乱码解决以及传输优化
- Tomcat的URL中文乱码解决以及传输优化
- 远程磁盘映射
- IOS(UI)_CGContextRef(绘画)
- Android Studio 快捷键
- python3 bytes、str的区别
- hibernate的配文件中注意catalog属性
- 解决URL路径包含中文以及特殊符号
- Jstl <c:forEach varStatus="status">中 varStatus的属性简介
- Android 通知栏Notification
- iOS 通过定位获取常驻后台
- 【python】scrapy安装
- Git新手入门与上传项目到远程仓库GitHub
- JSP的内置对象
- #HDU 2680 Choose the best route 【SPFA最短路】
- ViewFlipperDemo左右切换