JAVA乱码问题全解决

在写JAVA WEB程序的时候,困惑我们许久的问题之一的就是JAVA编码问题,下面我对JAVA WEB可能出现乱码的地方,将其列举出来:
1.比如     http://localhost:8080/Smarter/userInfoEx!setUserbyAccount?account=001&demo= 明胆

地址栏一输入按回车,就出现  http://localhost:8080/Smarter/userInfoEx!setUserbyAccount?account=001&demo= %E6%98%8E%E8%83%86

我这个操作的功能是:
(SQL语句)update UserInfoEnity user  set user.demo='"+demo+"' where user.account='"+account+"'"

更新到数据库出现乱码。

然后我百度了一下:
解决方法是: 在tomcat/conf/server.xml中添加
<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
                           URIEncoding="UTF-8"
                           />

设置其编码方式,这样问题就解决了。

2.还有一种情况就是页面出现乱码的情况,我就把request,response都设置成UTF-8,如下所示:
HttpServletResponse response = ServletActionContext.getResponse();
                        response.setContentType("text/html; charset=utf-8");
                        response.setCharacterEncoding("utf-8");
                        
                        HttpServletRequest request = ServletActionContext.getRequest();
                        request.setCharacterEncoding("utf-8");

(在struts2 里面有HttpServletResponse ,HttpServletRequest两个类 


3.还有一种设置编码的,就是在struts.properties,struts.xml文件中设置编码方式:


3.1在struts.xml文件中加入:
        
<constant name="struts.i18n.encoding" value="utf-8" />

3.2或者在struts.properties中加入:
        
struts.i18n.encoding=utf-8

即可.


内部地址:

http://www.gzios.com/ppar/bbs/forum.php?mod=viewthread&tid=352&extra=page%3D1

你可能感兴趣的:(JAVA乱码问题全解决)