URL路径中的空格处理

方法一:URLEncoder.encode()

URLEncoder.encode().这个方法把所有非字母数字字符改变为%序列(除了空格、下划线、连字符、点和星号),如果把整个url给encode的话,=,&这些字符也会编码。所以最好逐部分编码;

实例:

http://baidu.com?name=han&content=hello world则这样处理

url = “http://baidu.com?name=han&content=”+URLEncoder.encode(“hello world”,“utf-8”);

注:但是测试后发现是把空格转换为了+号,很是无奈。

实例:

public static void main(String[] args) throws UnsupportedEncodingException {
		String s = "06.27";
        String t[] = s.split("\\.");  
        for(int i = 0; i < t.length; i++){  
            System.out.println(t[i]);  
        }  
        String str1  = t[0];
        String str2  = t[1];
        System.out.println(str1+"---"+str2);
        
        
        String dinnerDateTime = URLEncoder.encode(t[0]+"月"+t[1]+"日"+" "+10+":"+30,"utf-8");
        System.out.println("dinnerDateTime="+dinnerDateTime);
        System.out.println(URLDecoder.decode(dinnerDateTime));
	}
实例结果:

06
27
06---27
dinnerDateTime=06%E6%9C%8827%E6%97%A5+10%3A30
06月27日+10:30

方法二:

在执行之前写上 url = url.replaceAll(" ", "%20");  把空格替换掉

注:之后解决方法是直接把对应的 空格 换成 %20。

你可能感兴趣的:(零碎知识整理)