关于struts 中文乱码的总结

本文详细介绍了如何解决jsp网页乱码、action编码问题及数据库编码问题,包括修改jsp页面字符集、action字符串转换、添加编码过滤器、数据库编码调整等方法,确保应用正确显示中文。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上有很多类似的处理方法,必须一个一个去尝试,然后根据自己的实际情况做决定。

1 分类:jsp网页乱码  、action 编写乱码、mysql数据库乱码

2 分别对应解决方案:

  1) jsp网页乱码:<%@ page language = "java" contentType = "text/html; charset=UTF-8" %>

        还有可能是tomcat的问题:

            <Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443"
  maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
              enableLookups="false" redirectPort="8443" acceptCount="100"
              debug="0" 
              disableUploadTimeout="true" useBodyEncodingForURI="true" URIEncoding="utf-8"
 />对比进行修改,是防止uri乱码

 2)action servlet 编码问题:

       action默认是iso-8859-1,必须转换成utf-8

      string regname=new string( s.getBytes("iso-8859-1"),"utf-8");

 3) struts编码过滤器:在web.xml下添加:

          <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>

    如果不行,在src下创建struts.properties,

     内容设置  :struts.i18n.encoding=gb2312 

   如果不行,在struts.xml下添加(注意,这行一定要写在<struts></struts>中间的第一行)

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

4)最后是数据库问题:

    进入mysql数据库安装目录,看my.ini,将其中的编码改成utf-8

  如果以上都做了的话,还是没有解决问题,可能需要在连接数据库的时候进行转码。school?useUnicode=true&characterEncoding=UTF-8

      

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值