tomcat中存放含有中文的文件访问不到解决办法(设置Tomcat的UTF-8编码)

时间:2024-05-19 16:32:28

前言

前两天做一个图片上传的功能,功能是挺简单但是上传成功以后,就是访问不到服务器上的图片,后来上传图片名称为英文却可以读取出来,其实很简单,找到tomcat服务器配置文件中编码设置即可。

原因分析:

1.如果我们使用servelt,使用 利用request.setCharacterEncoding("UTF-8");来设servlet编码;这样是对get post都是有效的; 
2.但是我们访问图片是使用get的方式直接访问tomcat下的目录,这时浏览器会自动对url中出现的中文进行编码(浏览器一般都是按照UTF-8的编码方式,如果不是在各自浏览器的设置里会有这个选项,mac的google浏览器需要下载encodding的插件进行设置),
然后我们的tomcat并没有设置对url编码就行解析,所以会出现访问不到的情况

tomcat中存放含有中文的文件访问不到解决办法(设置Tomcat的UTF-8编码)

 解决办法:

要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding=”UTF-8”,这样,GET方式提交的数据才会被正确解码。

tomcat中存放含有中文的文件访问不到解决办法(设置Tomcat的UTF-8编码)

tomcat中存放含有中文的文件访问不到解决办法(设置Tomcat的UTF-8编码)