2 u011353962 u011353962 于 2016.09.13 11:42 提问

web环境 url无法访问有中文名字的文件

tomcat web容器
webroot里有啊.txt文件
图片说明
直接浏览器输入无法访问(英文可以)
图片说明
有什么方法能够直接访问这个 啊.txt文件(不要让我改成英文)。
查过网上解决办法,都没解决到。
有没有哪位大哥能解决这个问题呢?

7个回答

w172087242
w172087242   Ds   Rxr 2016.09.13 11:44
已采纳

1.使用uriencode对你的uri进行编码就ok;
2.再服务端对接收到的请求进行转发,并且对路径进行解码

希望能够帮到你...

u011353962
u011353962 回复little_how: 流弊啊,谢了
大约一年之前 回复
w172087242
w172087242 回复一个好人JAVA: 你是使用tomcat吗?如果是那么你在你的server.xml这样改<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
大约一年之前 回复
u011353962
u011353962 回复一个好人JAVA: 你可以帮忙就针对这个问题写一个小例子吗
大约一年之前 回复
u011353962
u011353962 回复little_how: js用了encode处理之后还是没效果,window.location.href="../"+encodeURI("啊.txt");
大约一年之前 回复
w172087242
w172087242 回复一个好人JAVA: 地址栏的最后经由你的js处理后用location来定向
大约一年之前 回复
w172087242
w172087242 回复little_how: 你最后在前端就直接处理掉,js有支持uriencode
大约一年之前 回复
w172087242
w172087242 回复一个好人JAVA: 接到请求,对url做处理,你这个是写死的
大约一年之前 回复
u011353962
u011353962 回复一个好人JAVA: String name = URLEncoder.encode("啊.txt", "UTF-8"); 然后转发吗?这样试过不行喃
大约一年之前 回复
u011353962
u011353962 具体代码该怎么写啊
大约一年之前 回复
qq_35718410
qq_35718410   2016.09.13 11:47

为什么非得用中文的url呢?

u011353962
u011353962 需求这样的
大约一年之前 回复
qq_29594393
qq_29594393   Ds   Rxr 2016.09.13 12:00

原因是编码格式问题,两边不统一系统获取到的是乱码,所以找不到文件,

u011353962
u011353962 这个我是明白的,关键是怎么解决这个问题,就针对这个例子。你可以尝试动手试一下
大约一年之前 回复
u010808544
u010808544   2016.09.13 13:45

String url = "你的访问路径";
服务端 对url解码URLEncoder.encode(url,"UTF-8");
希望能帮到你

yongyong521
yongyong521   2016.09.13 14:11

/*对字符串进行URL编码*/
public String base64URL(String content){
try{
content= Base64.encodeToString(content.getBytes("UTF-8"),Base64.DEFAULT);
content= URLEncoder.encode(content);
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}
return content;
}

yongyong521
yongyong521   2016.09.13 14:11

/*对字符串进行URL编码*/
public String base64URL(String content){
try{
content= Base64.encodeToString(content.getBytes("UTF-8"),Base64.DEFAULT);
content= URLEncoder.encode(content);
}catch (UnsupportedEncodingException e){
e.printStackTrace();
}
return content;
}


yu3224287044
yu3224287044   2016.09.13 15:27

可以设置编码,最好的办法是把中文文件改成英文或拼音

Csdn user default icon
上传中...
上传图片
插入图片