URLEncoder.encode转译后“空格”变“加号”的问题的解决方案

 

dst_fname=URLEncoder.encode(dst_fname);

对字符串dst_fname进行编码,但是发现空格全部都变成了加号

dst_fname=URLEncoder.encode(dst_fname);
dst_fname=dst_fname.replaceAll("\\+",  "%20"); //处理空格,我们提需求的傻B非得要空格的,但是不编码有很多非常特殊的文字无法显示.

遇到的问题:当上传文件的文件名中间有空格,用URLEncoder.encode方法会把空格变成加号(+)在前台页面显示的时候会多出加号。比如,上传的文件名为 “新建 文本文档.txt” ,从后台返回值解码后却变成了“新建+文本文档.txt”

 

解决方法:在值传回前台时先把变量中的加号(+)全部替换为“%20”。

              str.replace("\\+","%20")

你可能感兴趣的:(encode)