最近有个项目场景如下:需要后台遍历图片、视频所在的文件夹,获取的到的路径传递到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"),然后传到页面即可正常显示。