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

关于 Ajax 使用中中文字符编码问题

阅读更多
前台javascript

function addQuestion(){
    var questionContent = $(”questionContent”).value;
    if (questionContent == null || questionContent == “”) {
        $(”questionTip”).innerHTML = “你提交的问题不能为空,请重新输入!”;
        return;
    }

    var url = “ajax/addQuestion.action?content=” + questionContent;
    url = encodeURI(url);
    url = encodeURI(url);
    new Ajax.Request(url, {
        method: ‘post’,
        onSuccess: function(transport){
            var result = transport.responseText.evalJSON();
            $(”questionTip”).innerHTML = result.tip;
            GetQList(2, 1); //刷新我的问题列表
        },
        onCreate: function(){
            $(”questionTip”).innerHTML = $(”loadingSubQ”).innerHTML;
            $(”askQForm”).disable();
        },
        onFailure: function(){
            $(”questionTip”).innerHTML = “问题提交失败”;
            $(”askQForm”).enable();
        }
    });
}


使用的是ProtoType1.6,上面的代码很明白,就不多说了。注意encodeURI俩次。

后台获取到content后。

String dContent = java.net.URLDecoder.decode(getContent(),”utf-8″);


即可。

还有一种最简单方式:
将提交内容放在form中,使用ProtoType的Form.serialize(),不存在编码问题,ProtoType已经帮你做好了。
1
0
分享到:
评论
2 楼 Disney2002 2008-05-31  
这个问题之前也不清楚,也是在网上查询后知道的,原内容如下:
为什么要连续两次调用encodeURI(String)方法呢?是因为Java中的request.getParameter(String)方法会进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI编码两次后,request.getParameter(String)函数得到的是原信息URI编码一次的内容。接着用java.net.URLDecoder.decode(String str,String codename)方法,将已经编码的URI 转换成原文。
1 楼 playfish 2008-05-31  
弱弱的问下,为什么要encode2次呢?

相关推荐

    Ajax中文乱码问题解决方案

    在实际开发中,可以结合使用以上方法来解决Ajax中文乱码问题。例如,可以使用jQuery的`$.ajax`方法,设置`contentType`和`dataType`属性,以及在成功回调函数中处理响应数据: ```javascript $.ajax({ url: 'your-...

    Ajax 中文乱码问题

    2. **接收服务器响应时中文乱码**:服务器返回的数据中包含中文字符时,如果客户端没有正确设置字符编码,也会出现乱码现象。 #### 三、解决方案 ##### 3.1 发送中文内容 为了确保发送的中文内容能够正确显示,...

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

    通过以上两步,使得从前端到后端、再到返回前端的整个过程中的字符编码保持一致,从而有效避免乱码问题。 #### 解决方案二:修改jQuery源代码支持GB2312 对于那些仍然希望使用GB2312编码的场景,可以通过修改...

    Ajax使用POST提交中文乱码问题.docx

    在使用Ajax进行POST提交时,中文字符可能会遇到乱码问题,这是因为数据在传输过程中编码与解码不匹配导致的。Ajax以UTF-8编码发送数据,但服务器端可能使用了不同的字符集(如GB2312)来解析,这就产生了乱码。本文...

    ajax传递中文参数乱码解决办法

    在使用AJAX向服务器发送请求时,如果请求参数中包含中文字符,可能会因为编码方式不一致导致接收方解析出错,从而出现乱码现象。这主要是由于客户端(如浏览器)和服务器端默认采用的字符集可能不同所导致的。 ####...

    Ajax中文乱码问题解决方法

    然而,在处理中文字符时,Ajax可能会遇到乱码问题,这通常与字符编码设置不正确有关。本文将深入探讨Ajax中文乱码问题的原因及其解决方案。 首先,我们需要理解Ajax乱码的根源。当JavaScript发送HTTP请求时,如果...

    ajax中文乱码如何解决

    首先,我们要理解Ajax中文乱码的根源,它通常涉及到字符编码的不一致,尤其是在客户端与服务器之间的通信过程中。 Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不刷新整个页面的情况...

    ajax get请求中文参数乱码解决

    在进行Web开发时,我们经常会遇到Ajax GET请求发送中文参数时出现乱码的问题...在提供的压缩包文件`strtus-ajax-by-get-zh-garbled`中,可能包含了关于Struts框架下解决Ajax GET请求中文乱码的示例代码,可以参考学习。

    ajax提交,后台中文乱码解决

    在IT领域,尤其是在Web开发中,处理中文字符时...此外,对于任何涉及中文字符的Web应用,推荐在项目初始化阶段就设定统一的字符编码策略,比如将`utf-8`作为项目的默认编码,这样可以在很大程度上避免乱码问题的发生。

    ajax提交中文乱码解决方法

    综上所述,解决AJAX提交中文乱码的问题主要涉及客户端和服务端两个方面的编码处理。在客户端通过`URLEncoder`进行编码,并确保Content-Type正确设置;在服务端则通过`URLDecoder`进行解码,并对Servlet容器及程序中...

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

    在JSP中,当使用Ajax进行GET请求时,可能会遇到中文乱码的问题。这通常是由于URL编码不匹配或处理不当导致的。以下是一些解决这个问题的关键知识点和步骤: 1. **URL编码问题**: URL编码是一种标准,用于将特殊...

    java认证_Ajax中文乱码问题及解决方法.doc

    总的来说,处理Ajax中的中文乱码问题,需要关注字符编码的设定,而在评估编程语言的设计时,需要全面考虑其历史背景、设计原则以及实际应用场景。对于Java认证考试来说,理解这些细节和决策背后的原因是至关重要的。

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

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

    Ajax FireFox IE 乱码兼容问题

    在IT领域,特别是Web开发中,字符编码的处理是一大挑战,尤其是在跨浏览器、跨平台的环境下,如在Ajax请求中遇到的FireFox与IE之间的乱码兼容问题。本文将深入探讨这一问题,并提供详细的解决方案。 ### Ajax与字符...

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

    在Web开发中,尤其是在使用Java与JSP技术栈进行开发时,经常会遇到的一个问题是:如何处理AJAX请求中的中文字符乱码问题。本篇文章将详细介绍如何通过前端编码处理、后端参数接收以及响应头设置等手段来有效解决这一...

    ajax提交中文到servlet

    总结,"ajax提交中文到servlet"涉及到的主要知识点包括Ajax的基本使用、中文编码处理、Servlet中的字符编码设置以及跨域访问。理解并掌握这些知识点,可以有效地实现异步提交中文数据,提升Web应用的用户体验。

    使用ajax可以传中文参数

    在使用Ajax进行数据传输时,如果请求中包含了中文字符,由于编码方式的不同,这些中文字符在服务器端解析时可能会出现乱码现象。这主要是因为客户端(浏览器)与服务器端之间对于字符集的理解不一致所导致的。 ####...

    AJAX技术使用XMLHttpRequest对象传递参数的中文乱码问题

    在使用AJAX技术进行前后端数据交互时,经常会出现中文字符编码的问题,尤其是在使用`XMLHttpRequest`对象发送请求的过程中。例如,在Internet Explorer(IE)浏览器与Mozilla Firefox浏览器之间存在不同的行为表现,...

    03AJAX-中文字符问题[借鉴].pdf

    例如,在IE浏览器中使用`ActiveXObject`来创建XHR对象,在其他现代浏览器中则使用`XMLHttpRequest`构造函数。 6. **UTF-8编码**:UTF-8是一种针对Unicode的可变长度字符编码,可以用来表示Unicode标准中任何字符。...

    escape --AJAX和JS传中文乱码的最终解决方案

    以下是一个简单的示例,展示了如何使用JavaScript处理AJAX请求中的中文乱码问题: ```javascript // 假设str是包含中文的字符串,且页面和服务器均采用UTF-8编码 var encodedStr = encodeURIComponent(str); // ...

Global site tag (gtag.js) - Google Analytics