问题描述:

我是采用SSH框架,在实现图片上传的时候,用户上传的图片里面可能包含了中文名称,我在JSP界面显示的时候,含有如果图片地址中含有中文字符的时候,该图片就显示出来,报错来404错误!

 

解决思路:

我通过谷歌的开发者工具,看过所有的资源同时通过get方式获取到的,含有中文字符的地方都是被转码了,也就是改变了【字符集】(后来才明白的),我想通过字符集转码的方式来修改,但是又不知道如何在struts2标签里面使用转码的方法,论坛的大牛【减肥啊啊啊啊啊】给出了解决思路:struts2标签引用自己的方法

 

最终解决方法:

统一字符集的设置:

JSP界面

JS

后台代码

tomcat容器

都采用UTF-8的字符集编码,tomcat的设置方法:

如tomcat默认的编码是ios-8859-1    可以在tomcat的/conf/server.xml里找到Connector port端口【如默认的8080】的节点
增加属性URIEncoding="你的编码集"
如:

Plain Text code
 
?
1
URIEncoding="UTF-8"


修改后为:以下为修改tomcat容器编码集为utf-8
Plain Text code
 
?
1
2
3
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8"/>