`
AllenHU0320
  • 浏览: 86950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat6服务器编码及Ajax中文乱码问题

 
阅读更多

Tomcat6服务器编码为引用其他人的内容连接地址为:http://guozheng.iteye.com/blog/681207

偶然遇到这个问题,utf-8编码格式用tomcat-6.0.18部署之后页面显示全是乱码。

解决方法:

     配置tomcat的server.xml  在下面两个地方加:URIEncoding="UTF-8"

 

     <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443"  

           URIEncoding="UTF-8" />

  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" 

          URIEncoding="UTF-8"/>

 

如果还是不行,可以在上面修改的基础上  从  tomcat 的自带项目  Examples是里的---\webapps\examples\WEB-INF\classes\filters

下找到   RequestDumperFilter.java   和   SetCharacterEncodingFilter.java,

 加入到工程文件中去。

并把这个tomcat带的编码过滤器配置到web.xml里

   <filter>
    <filter-name>Set Character Encoding</filter-name>
      <filter-class>xxx.xxx.xxx.SetCharacterEncodingFilter</filter-class>

                   <!--类路径-->
      <init-param>
        <param-name>encoding</param-name>
        <param-value>GBK</param-value>
      </init-param>
    </filter>
    <filter-mapping>
      <filter-name>Set Character Encoding</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>

 

 

Ajax中文乱码问题

在页面中用如下方式解决:

    var reportTmpId = $("#reportTmpId").val();
    var attrKey = encodeURI(encodeURI($("#attrKey").val()));
    $.post("${ctp}/ms/report/validateKeyRepTmpAttr.action?reportTmpId="+reportTmpId+"&attrKey="+attrKey,null,function(flag){   
          if(flag=="false"){
              document.all("keyMsg").style.color="green";
           document.all("keyMsg").innerHTML="可以使用";
           }else{
              document.all("keyMsg").style.color="red";
           document.all("keyMsg").innerHTML="名字重复!";
            }
         });

在Action类中:

 public String validateName(){
     logger.debug("进入ReportTemplateAction的validateName方法!");
     String reportName = null;
     try{
        reportName = URLDecoder.decode(request.getParameter("reportName"),"utf-8");
        if(reportName != null && !"".equals(reportName)){
            TReportTemplate tmp = this.reportTemplateMngImpl.validateName(reportName);
            if(tmp == null){
                response.getWriter().print("false");
            }else{
                response.getWriter().print("true");
            }
        }
  }catch(Exception e){
        e.printStackTrace();
        logger.error("执行ReportTemplateAction的validateName方法出现异常!"+e.getMessage());
  }
  return null;
 }

分享到:
评论

相关推荐

    Struts框架下Ajax发送中文乱码问题的解决

    在实际应用中,我们常常会遇到Ajax与服务器交互时出现中文乱码的问题,尤其是在发送和接收中文数据时。这个问题主要涉及到字符编码的处理,解决起来需要对HTTP协议、字符编码原理以及Struts框架的工作机制有一定的...

    Ajax uri 乱码问题总结

    Ajax URI 乱码问题主要涉及浏览器差异和服务器配置两方面,尤其在处理非 ASCII 字符时,编码格式的不一致可能导致乱码。以下是对这个问题的详细解析和解决方案: 1. **浏览器差异**: - **Internet Explorer (IE)*...

    ajax提交中文乱码解决方法

    当通过AJAX向服务器发送含有中文的数据时,如果编码方式设置不当,就可能导致服务器端接收到的数据变成乱码。这主要是因为客户端和服务器端使用的字符集不一致导致的。 **具体来说:** 1. **客户端编码**:前端...

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    JSP中 ajax的get请求的中文乱码问题的解决方法.pdf

    综上所述,解决JSP中Ajax GET请求的中文乱码问题需要从服务器配置、Servlet处理、JSP页面编码和Ajax请求等多个角度综合考虑,并进行相应的调整。通过这些步骤,可以有效地避免并解决中文乱码问题,保证数据传输的...

    servlet中文乱码问题

    ### Servlet + Tomcat 中文乱码问题解析及解决方案 #### 一、中文乱码问题概述 在使用Servlet和Tomcat进行Web开发时,经常会遇到中文乱码的问题。这主要是因为客户端(如浏览器)与服务器之间使用的字符编码不一致...

    struts下的汉字乱码问题

    在Struts框架中,汉字乱码问题是一个常见的问题,特别是在处理中文输入时。解决这个问题涉及到多个层面,包括页面编码设置、服务器配置以及Struts的Servlet配置。以下是对这些问题的详细解释: 1. 页面编码设置: ...

    奇怪的struts2的中文乱码问题及解决.docx

    然而,开发过程中经常遇到的一个问题就是字符编码问题,尤其是中文乱码问题。本文将深入探讨一个关于Struts2在Internet Explorer(IE)浏览器中出现中文乱码的奇怪问题及其解决方案。 首先,中文乱码问题通常涉及到...

    jsp中 ajax的get请求的中文乱码问题的解决方法.docx

    JSP中的AJAX GET请求的中文乱码问题主要是由于URL编码格式不匹配导致的。以下是一些解决此问题的关键点和步骤: 1. **URL编码格式**: 默认情况下,Tomcat服务器使用ISO-8859-1编码处理URL,这是因为在`server.xml...

    使用ajax可以传中文参数

    ### 使用Ajax传递中文参数的方法及Tomcat配置...正确配置Tomcat服务器以及合理设置前端和后端的编码格式,可以确保中文数据在整个Web应用中被正确地传输和处理。这对于提高用户体验以及维护Web应用的质量具有重要意义。

    Ajax传参是乱码解决方案

    例如,在使用Tomcat服务器的情况下,可以在`conf/server.xml`文件中添加或修改`Connector`元素中的`URIEncoding`属性,指定服务器接收请求时的编码格式。 ```xml connectionTimeout="20000" redirectPort="8443...

    jsp中 ajax的get请求的中文乱码问题的解决方法

    在JSP中使用AJAX的GET请求时,经常会出现中文乱码问题。这种乱码问题通常是由于字符编码不一致导致的。由于HTTP协议本身不包含字符编码信息,服务器和浏览器通常会采用默认的编码方式来处理请求和响应数据,如果默认...

    服务器与客户编码问题分析

    在进行Web开发时,服务器与客户端之间的编码问题是一个常见的挑战,尤其是在处理中文字符时。本文将深入探讨这个主题,以便更好地理解和解决这类问题。 首先,我们需要理解编码问题涉及的四个关键步骤: 1. 服务器...

    JSP乱码终极攻略和AJAX初步运用

    总的来说,解决JSP乱码问题和正确使用AJAX传递中文参数,关键在于理解编码和解码的过程,以及在不同环境下的适应性调整。通过适当的过滤器配置、参数转换和统一的编码标准,可以有效地防止和解决这些问题。在实际...

    解决J2EE开发中乱码问题

    1. Ext框架:作为流行的AJAX框架之一,Ext在处理中文字符时可能会出现编码问题。 2. Struts:在接收和展示数据时可能出现乱码。 3. Hibernate:在执行包含中文的HQL查询时,例如`from Test t where t.name like '%...

    java开发乱码问题处理大全

    GET请求中,由于Tomcat默认使用ISO8859-1编码,这可能导致中文参数传输时出现乱码。解决方法是在Tomcat的`server.xml`配置文件中设置`URIEncoding="UTF-8"`,确保URL中的参数也能以正确的编码进行解码。 #### 六、...

    解决Tomcat修改get提交请求乱码问题

    在开发Web应用时,我们经常会遇到字符编码的问题,特别是当使用Tomcat服务器处理GET请求时。本文主要讨论如何解决Tomcat在处理GET提交请求时出现的乱码问题。 首先,我们要明白GET请求与POST请求的区别。GET请求...

    jQuery Ajax传值到Servlet出现乱码问题的解决方法

    - **Tomcat服务器配置**:确保你的Tomcat服务器配置中,`URIEncoding`属性已设置为`utf-8`,这样服务器在处理请求时会使用正确的编码。 - **HTTP头设置**:检查Ajax请求是否包含了正确的`Content-Type`头,以指定...

    ajax+jsp+servlet 中文解决方法

    7. **服务器配置**:检查服务器(如Tomcat、Jetty等)的配置,确保其默认编码设置为UTF-8,避免在传输过程中出现编码问题。 通过以上步骤,基本可以解决Ajax、JSP和Servlet之间的中文乱码问题。在实际开发中,应对...

    smartupload多文件上传解决中文乱码

    6. **服务器配置**:根据服务器类型(如Tomcat、Jetty等),可能需要在服务器配置文件中指定默认编码为UTF-8,如在Tomcat的server.xml中配置`URIEncoding="UTF-8"`。 在多文件上传的例子中,SmartUpload允许用户一...

Global site tag (gtag.js) - Google Analytics