1、tomcate6 中 tomcate connector字符的设置了URIEncoding="UTF-8"2、在项目中struts.properties 添加了struts.devMode=false
struts.enable.DynamicMethodInvocation=true
struts.i18n.reload=true
struts.ui.theme=simplestruts.locale=UTF-8
struts.i18n.encoding=UTF-8struts.serve.static.browserCache=false
struts.url.includeParams=none3、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>
4、在jsp页面中的也设置了字符编码
<%@page pageEncoding="UTF-8"%>
<%@ page contentType="text/vnd.wap.wml; charset=UTF-8"%>以上设置完为什么还是有中文乱码的问题?
url中输入了一个中文在action中用以下代码
String name=request.getParameter("name");
        name=new String(name.getBytes("ISO-8859-1"),"UTF-8"); 
          System.out.println(name); 
打印出的还是 ??

解决方案 »

  1.   

    String name=request.getParameter("name");
            name=new String(filename.getBytes("GB2312"), "ISO-8859-1");
              System.out.println(name); 这样试一下。
      

  2.   

    url中不用中文不就解决了吗?
    真不明白,为啥都喜欢在url中传递中文参数,自找苦吃!
      

  3.   

    用weblogic服务器应该没乱码问题
      

  4.   

    你是从哪里传过来的值,没必要用URL吧,如果是从ACTION中过来的,可以保存到form bean中或 request.setAttribute()传值,在页面用request.getAttribute()取值
      

  5.   

    struts乱码原因有很多,如果还不行可以尝试自己写一个过滤器试试~!
      

  6.   

    <!-- struts2 -->
    <filter>
       <filter-name>struts2</filter-name>   
               <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
       <filter-name>struts2</filter-name>
       <url-pattern>/*</url-pattern>
    </filter-mapping>把过滤器配置该一下试一试.
      

  7.   

    自己写一个过滤器是最好的了,我用strut和Hibernate时就用过滤器来解决中文显示问题, 在web.xml配置过滤器,如:
      <filter>
    <filter-name>Encoding</filter-name>
    <filter-class>过滤器中用到的类</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    </init-param>
        </filter>
        
        <filter-mapping>
    <filter-name>Encoding</filter-name>
    <url-pattern>/*</url-pattern>
        </filter-mapping>过滤器类上网找一个就行了,我曾经就是这样解决的!
      

  8.   

    手机端传来的参数?乱码问题表现的地方太多了,不过原理就一样,就是组件之间的编码方式不配。WEB容器,数据库,页面,参数传递这些只有有一样的编码不同,就会产生乱码?LZ的参数是手机传来的的话,能了道是用什么编码的吗?最好把URL进行编码,使用URLEncoder类
      

  9.   

    在tomcat的server.xml中添加"URIEncoding='UTF-8'"就可以了。
    具体代码如下:
     <Connector port="8080" protocol="HTTP/1.1" 
                   connectionTimeout="20000" 
                   redirectPort="8443" URIEncoding="UTF-8"/>