struts2表单中文乱码问题

   表单中文乱码问题经常出现在web站点开发中,今天试了下struts2,依然出现了中文乱码问题,网上查询发现各种答案,不过仅仅只有零星的答案是正确的,下面我将自己成功的方法做下记录。

    struts2中默认编码为UTF-8,其内置的标签之类的编码均为UTF-8。对于自己编写的jsp页面,只需要相应将页面开头和页面编码设置成UTF-8即可。

 

<%@ page language="java"  pageEncoding="UTF-8"%>
<%@ page contentType="text/html; charset=UTF-8" %>
 

  我在设置上述后依然出现乱码,这主要是由于tomcat的默认URL编码方式为ISO-8859-1造成的。因此你可以在action类中自己进行编码装换:

String userName=new String(name.getBytes("ISO8859_1"),"UTF-8");

 如果希望自动装换,解决方法也很简单,就是设置tomcat的编码方式,在server.xml中设置URIEncoding

    <!-- A "Connector" represents an endpoint by which requests are received
         and responses are returned. Documentation at :
         Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
         Java AJP  Connector: /docs/config/ajp.html
         APR (HTTP/AJP) Connector: /docs/apr.html
         Define a non-SSL HTTP/1.1 Connector on port 8080
    -->
    <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" URIEncoding="UTF-8" />

完成上述两步后,struts2表单中文乱码问题解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值