web之家  

最近有个项目场景如下:需要后台遍历图片、视频所在的文件夹,获取的到的路径传递到JSP页面,使用<img src="具体的路径">显示图片。遇到的问题:如果图片的路径、图片名存在中文,则<img> 无法读取到图片。

错误截图:

原因:主要是由于字符编码不一致,Tomcat5 的http Connector默认字符编码是"iso-8859-1"。

解决办法有如下两种方式: 
1.修改Tomcat中conf文件夹下的server.xml。找到 <Connector port="">,增加URIEncoding="UTF-8" ,指定URL的编码为UTF-8;


2.本人使用的是内嵌的Tomcat,而项目的运行环境指定编码为GBK,按照方法1修改,对其它功能会产生影响,这时可以这样解决,在JAVA中对中午的路径进行转码,使用URLEncoder.encode( 需要转码的内容, "gbk"),然后传到页面即可正常显示。

posted on 2017-12-01 09:59  路修远而求索  阅读(2494)  评论(0编辑  收藏  举报