`

ajax乱码解决

阅读更多

由于ajax数据发送数据编码方式为UTF-8,所以在发送传送汉字是会出现乱码。

 

解决方法:

     (1)jsp页面

    例

          var text=document.getElement("text");

           text=escape(escape(text));

    text 为传送的汉字,escape为javascript自带编码函数

    (2)获取数据的后台java代码

  

Java代码 复制代码
  1. public static String unescape(String src)   
  2.    {   
  3.      StringBuffer tmp = new StringBuffer();   
  4.      tmp.ensureCapacity(src.length());   
  5.      int lastPos=0,pos=0;   
  6.      char ch;   
  7.      while (lastPos<src.length())   
  8.       {   
  9.       pos = src.indexOf("%",lastPos);   
  10.       if (pos == lastPos)   
  11.         {   
  12.        if (src.charAt(pos+1)=='u')   
  13.          {   
  14.         ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);   
  15.         tmp.append(ch);   
  16.         lastPos = pos+6;   
  17.         }   
  18.        else  
  19.          {   
  20.         ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);   
  21.         tmp.append(ch);   
  22.         lastPos = pos+3;   
  23.         }   
  24.        }   
  25.       else  
  26.         {   
  27.        if (pos == -1)   
  28.          {   
  29.         tmp.append(src.substring(lastPos));   
  30.         lastPos=src.length();   
  31.         }   
  32.        else  
  33.          {   
  34.         tmp.append(src.substring(lastPos,pos));   
  35.         lastPos=pos;   
  36.         }   
  37.        }   
  38.      }   
  39.      return tmp.toString();   
  40.   }  
public static String unescape(String src)
   {
     StringBuffer tmp = new StringBuffer();
     tmp.ensureCapacity(src.length());
     int lastPos=0,pos=0;
     char ch;
     while (lastPos<src.length())
      {
      pos = src.indexOf("%",lastPos);
      if (pos == lastPos)
        {
       if (src.charAt(pos+1)=='u')
         {
        ch = (char)Integer.parseInt(src.substring(pos+2,pos+6),16);
        tmp.append(ch);
        lastPos = pos+6;
        }
       else
         {
        ch = (char)Integer.parseInt(src.substring(pos+1,pos+3),16);
        tmp.append(ch);
        lastPos = pos+3;
        }
       }
      else
        {
       if (pos == -1)
         {
        tmp.append(src.substring(lastPos));
        lastPos=src.length();
        }
       else
         {
        tmp.append(src.substring(lastPos,pos));
        lastPos=pos;
        }
       }
     }
     return tmp.toString();
  }

 

  unescape 用于解码

  使用   String str=unescape(request.getParameter("text"));

http://shaojiashuai123456.iteye.com/blog/410619

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    ajax乱码解决方案

    **Ajax 乱码解决方案** Ajax 乱码问题在开发Web应用程序时经常遇到,尤其是在涉及到不同编码格式时。本文将深入探讨Ajax与字符编码相关的技术细节,并提供几种有效的解决策略。 首先,JavaScript处理字符的方式是...

    AJAX乱码解决大全.doc

    在探讨AJAX乱码解决之道前,我们首先来了解一下几种常见的编码格式: - **UTF-8**:全球最广泛使用的编码格式之一,支持所有语言文字,包括中文,采用变长字节表示,具有良好的跨平台兼容性和高容错性。 - **GBK**...

    ajax乱码解决办法

    "ajax乱码解决办法"这个主题正是针对这类问题提供解决方案。 首先,我们需要理解Ajax请求中的乱码问题通常源于以下几个方面: 1. **服务器编码设置**:服务器返回的数据可能是以特定的字符编码格式(如GBK或UTF-8...

    Ajax乱码解决方案

    ### Ajax乱码解决方案 在进行Ajax开发的过程中,经常会遇到数据编码问题导致的乱码现象。这类问题虽然看似简单,但若处理不当,则可能耗费大量时间进行调试与解决。本文将结合一个具体的案例来探讨如何有效地解决...

    struts,ajax乱码解决方案

    【Struts和Ajax乱码解决方案】 在Web开发中,乱码问题始终是一个常见的困扰,特别是对于使用Struts和Ajax技术的开发者来说。乱码问题主要出现在数据的输入、传输和展示过程中,涉及到编码格式的选择和一致性。以下...

    Ajax乱码解决方案(docx)

    Ajax乱码问题主要涉及到字符编码的处理,包括服务器端、客户端以及文件的编码设置。解决Ajax乱码问题的关键在于确保整个数据传输链路上的编码一致性。 1. **字符编码** - **UTF-8**:广泛使用的编码格式,支持多种...

    ajax乱码解决汇总

    本文将深入探讨Ajax乱码问题的成因及其解决方案。 首先,我们需要了解JavaScript和Unicode的关系。JavaScript内部处理字符时,采用的是Unicode编码,这是一种包含几乎全球所有语言字符的通用编码标准。而UTF-8是一...

    Ajax乱码解决办法

    本文将详细探讨Ajax乱码的产生原因以及解决方案。 ### 一、乱码产生的原因 1. **服务器端编码不一致**:如果服务器返回的数据编码格式与客户端(浏览器)的预期编码不同,就会产生乱码。例如,服务器返回UTF-8编码...

    Ajax中文乱码问题解决方案

    本文将深入探讨Ajax中文乱码问题的成因,并提供一系列解决方案。 **一、问题原因** 1. **编码格式不一致**:服务器与客户端(浏览器)之间使用的字符编码格式不同,例如服务器使用GBK编码,而浏览器使用UTF-8编码...

    ajax乱码ajax乱码ajax乱码ajax乱码ajax乱码

    本文将围绕“AJAX乱码”这一主题进行深入探讨,旨在帮助开发者理解乱码产生的原因,并提供有效的解决方案。 #### 二、AJAX乱码概述 在AJAX通信过程中,服务器端与客户端之间通过HTTP协议交换数据。当客户端接收到...

    ajax到servlet乱码解决

    AJAX 到 Servlet 乱码解决方案 在 Web 开发中,使用 AJAX 通过 URL 传参数给 Servlet 时,经常会遇到乱码问题,即使使用了统一的字符编码也没用。下面我们来探讨这个问题的解决方案。 问题描述 当我们使用 AJAX ...

    Ajax乱码小结

    ### Ajax乱码问题详解 #### 一、Ajax乱码概述 在使用Ajax技术进行前后端交互的过程中,常常会遇到字符编码的问题,特别是当涉及到中文或其他非ASCII字符时,容易出现乱码现象。根据题目中的描述,“Ajax乱码:当...

    解决ajax乱码和页面传值问题

    一、解决Ajax乱码问题 Ajax发送和接收数据时,乱码问题主要出现在两个环节:发送请求时的数据编码和服务器返回数据的解码。以下是解决乱码的关键步骤: 1. 数据编码:在发送Ajax请求前,确保你的数据已经正确编码...

    AJAX乱码解决新方法

    ### AJAX乱码问题及新解决方法 #### 一、引言 随着Web技术的发展,AJAX(Asynchronous JavaScript and XML)作为一种重要的前端技术被广泛应用于动态网页开发中。然而,在实际应用过程中,开发者经常会遇到一个棘手...

    jquery的ajax编码乱码解决方案

    简单整理的乱码处理方案,jquery的ajax解决UTF-8以及GBK的问题

    ajax提交中文乱码解决方法

    ### AJAX提交中文乱码解决方法 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过JavaScript发起异步请求,与服务器进行数据交换,从而...

    Ajax中文乱码问题解决方法

    首先,我们需要理解Ajax乱码的根源。当JavaScript发送HTTP请求时,如果服务器和客户端之间关于字符编码的约定不一致,就会导致乱码。常见的原因包括: 1. **请求头设置不正确**:Ajax请求默认使用UTF-8编码,但...

    ajax解决中文乱码(java/jsp)

    ### AJAX解决中文乱码(Java/JSP) #### 知识点概述 在Web开发中,尤其是在使用Java与JSP技术栈进行开发时,经常会遇到的一个问题是:如何处理AJAX请求中的中文字符乱码问题。本篇文章将详细介绍如何通过前端编码...

    ajax中文乱码如何解决

    在本文中,我们将深入探讨如何解决使用Ajax进行POST请求时出现的中文乱码问题。首先,我们要理解Ajax中文乱码的根源,它通常涉及到字符编码的不一致,尤其是在客户端与服务器之间的通信过程中。 Ajax(Asynchronous...

    jquery+asp ajax 中文乱码问题解决文档

    ### jQuery + ASP AJAX 中文乱码问题解决方案 在开发基于jQuery和ASP的Web应用程序时,中文乱码问题可能成为困扰开发者的一大难题。特别是在使用Ajax进行前后端数据交互时,中文字符可能会出现乱码现象,影响用户...

Global site tag (gtag.js) - Google Analytics