struts2.0乱码 在struts.xml里面设置struts.i18n.encoding=utf-8依然出现乱码是怎么回事呀

需要验证是否有以下错误. 

是 get  还是 post 传参

有的时候form表单默认是get传参;而get传参不受charset 设置影响,所以将其改为post就可以了


1. 第四个可能性就是在web.xml中需要设置一个Filter ,将编码设置成utf-8
   <!-- STRUTS2 utf-8 -->
 <filter>
        <filter-name>struts-cleanup</filter-name>
        <filter-class>
            org.apache.struts2.dispatcher.ActionContextCleanUp
        </filter-class>        
    </filter>
    
    <filter-mapping>
        <filter-name>struts-cleanup</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

2. 第一个可能性是显示的jsp里面的content-type要设置对. 
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

3. 第二个就是jsp文件的编码需要是ASCII编码形式

4. 第三个就是应用服务器的版本, 如果是tomcat 的话,5.5版本后需要在每个页面都设置
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

在server.xml中 
<Connector port="8080" 

maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 

enableLookups="false" redirectPort="8443" acceptCount="100" 

debug="0" connectionTimeout="20000" useBodyEncodingForURI="true" 

disableUploadTimeout="true" URIEncoding=”UTF-8”/> 


加上就可以.

如果还有问题可能就是数据库的问题. 
数据库的连接字符串需要设置对.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值