关于网友提出的“ JSP显示不了中文路径的图片”问题疑问,本网通过在网上对“ JSP显示不了中文路径的图片”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: JSP显示不了中文路径的图片
描述: 我上传的时候,图片有中文和英文名称的,英文名称的图片都是正常的,但是有中文名称的图片,在界面上面显示不了,具体问题就是jsp获取资源都是通过get方式获取的,中文名称都被加密了,如下所示:
/NursingSystem/upload/picture/food/%E5%9B%BE%E5%B1%82-20.png
我也知道通过
<%
String name= request.getParameter("name");
String result = new String(name.getBytes("ISO-8859-1"), "GB2312");
%>
进行转码,但是我显示图片是多个一起显示的,我的代码里面是这样显示的:
这个是用来显示图片的代码
<>">
请教该怎么改呢? 解决方案1: 针对楼主需求的解决方案可以使用struts标签执行自己的方法并输出在页面上
http://blog.csdn.net/sd4000784/article/details/7575961
不太建议使用中文命名含有路径的一切资源,如果上传重复名称的文件会造成覆盖【如相同的文件名称新上传的文件覆盖老的文件】。
可以给图片设置一个uuid【或唯一字符串】的名称。
引用楼主: 我上传的时候,图片有中文和英文名称的,英文名称的图片都是正常的,但是有中文名称的图片,在界面上面显示不了,具体问题就是jsp获取资源都是通过get方式获取的,中文名称都被加密了
中文只是被转码【改变了编码集】了 并不是被加密了。
关于编码集的统一修改可以一劳永逸的修改:如项目整体编码格式确定 gbk 或utf-8
1可以设置filter 并拦截全部的访问,并改变编码集。
2修改相关的容器的编码:如tomcat默认的编码是ios-8859-1 可以在tomcat的/conf/server.xml里找到Connector port端口【如默认的8080】的节点
增加属性URIEncoding="你的编码集"
如:
URIEncoding="UTF-8"
修改后为:以下为修改tomcat容器编码集为utf-8
c/>
以上介绍了“ JSP显示不了中文路径的图片”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2798026.html
|