中文乱码问题

1、JSP页面显示的中文问题


Page的第一行改成:<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
Head里加:<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

2.struts2里面配置,不过默认就是utf-8


  <constant name="struts.i18n.encoding" value="utf-8"></constant>

3.但是有的时候虽然配置了struts2,但是有时候还是出现乱码,所以我们可以在struts2过滤之前就将数据过滤一下,在这我们用spring
 
<filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>    

      其实任何的interceptor机制都可以处理这个的,不管用Webwork还是Spring的interceptor,甚至用AOP,只要在取参数前加那么一句:request.setCharacterEncoding("utf-8");就行了。以前我用struts就是在它的 RequestProcessor的populate之前加了这么一行。
   

     4. request 的parameter里要传中文参数的问题


     这个问题跟Web Container有关系,记得以前我同学用WebLogic时好象没出现这样的问题。

(Tomcat里的解决方案是在server.xml里 Connector port="8080"的attribute里加URIEncoding="utf-8"


当然还有最土的解决方案,虽然不太会用到,不过还是列出来,以备最无奈的时候使用:

String encodeStr=new String(fieldValue.getBytes("8859_1"), "utf-8");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值