`

AJAX中文问题[转]

    博客分类:
  • web
阅读更多


AJAX中文问题分为两大类:
1)发送路径中的参数有中文,在服务器段接收参数值是乱码

例如:
var url="a.jsp?name=小李";
xmlHTTP.open ("post",url,true);
解决办法:
利用javascript的提供的escape()或encodeURI()方法
例如:
客户端:
var url="a.jsp?name=小李";
url=encodeURI(url);
url=encodeURI(url); //两次,很关键[具体为什么,我也不清楚]
/********************************************/
也有人写成var url="a.jsp?name=escape("小李")";
功能和encodeURI方法类似。
/********************************************/
xmlHTTP.setrequestheader("cache-control","no-cache");
xmlHTTP.setrequestheader("Content-Type","application/x-www-form-urlencoded");
xmlHTTP.setrequestheader("contentType","text/html;charset=uft-8")//指定发送数据的编码格式
xmlHTTP.open ("post",url,true);
服务器端:
String name = request.getParameter("name");
name = java.net.URLDecoder.decode("name", "UTF-8");

2)返回来的responseText或responseXML的值中含有中文是乱码
原因:AJAX在接收responseText或responseXML的值的时候是按照UTF-8的格式来解码的,如果服务器段发送的数据不是UTF-8的格式,那么接收responseText或responseXML的值有可能为乱码。
解决办法:在服务器指定发送数据的格式:
在jsp文件中:
response.setContentType("text/text;charset=UTF-8");//返回的是txt文本文件
或是
response.setContentType("text/xml;charset=UTF-8");//返回的xml文件

总结:1)ajax提交数据的格式默认为utf-8,利用javascript的提供的escape()或encodeURI()方法.在服务器端接收的时候要使用java.net.URLDecoder.decode("","UTF-8")方法进行解码.
2)xtmlhttp 返回的数据默认的字符编码是utf-8,所以服务器要向客户端发送数据的时候,也要采用utf-8编码
如果上述方法仍然解决不了乱码问题,那你尝试一下把jsp,htm,java文件用UTF-8编码格式保存.
总之:前后台数据交互都采用utf-8编码就行了.

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiaoxiaguoke/archive/2009/12/31/5110991.aspx

分享到:
评论

相关推荐

    ajax使用示例-unicode转换中文

    1、该项目是一个小示例,清晰的讲解了ajax在php中的调用过程 2、实现的功能是将unicode码转换为对应的中文

    Ajax-check控件中文转换成拼音

    一个简单的控件,通过输入多音中文,自动转化拼音并分组显示供你选择。不是多音就直接生成拼音

    通过Ajax取汉字的拼音

    在这个项目里,你可以看到: <br>1.如何使用JQuery和Asp.NET实现Ajax技术 2.如何将.NET对象序列化成JSON 3.如何使用Sinoprise.Chinese取汉字的拼音 <br>http://www.sinoprise.cn/showtopic-126.aspx

    Ajax中文手册(快速上手)

    AJAX is a technology that runs in your browser. It uses asynchronous data transfer between the browser and the web server, allowing web pages to request small bits of information from the server ...

    Ajax无刷新中文验证码

    Ajax无刷新中文验证码 在这个简单的项目里面包括的文件有 1.ChineseCode.cs:生成中文的一个类文件 2.PublicCla.cs:保存服务器端的中文字 3.image文件夹是验证码的背景 4.Default.aspx为验证码的主页 5.Img.aspx:将...

    Ajax 四级导航菜单ASP+Access动态版

    Ajax与ASP网页交互动态添加删除数据一例 Asp+Ajax无限级联动下拉框菜单Access版 ASP 树形菜单TreeView 多样式版 Ajax仿iGoogle双击编辑、网页拖动完整实例 ASP+jQuery无刷新读写数据库操作 Ajax提交数据实例_Ajax+...

    J2EE中JSONJquery_AJAX应用中文PDF版

    资源名称:J2EE中JSON Jquery_AJAX应用 中文PDF版内容简介:本文档主要讲述的是J2EE中JSON Jquery_AJAX应用;主要是描述使用JSON JQuery_AJAX实现页面动态加载与页面表单数据的异步保存。首先页面通过调用JQuery_...

    Ajax无刷新分页(jQuery+Json)

    Ajax无刷新分页(jQuery+Json) 做了一个用jQuery来实现的用户控件,VS2008+Access 只用来玩玩....转换列(也就是你数据库里是1,0什么的,转成对应的男女的中文) 每页显示的记录条数在config里面设置

    PHP+Ajax网站开发典型实例-源代码

    实例3 中文时间显示实例 实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第2章 PHP...

    分享一个JS核心的批量汉字转拼音插件.rar

    今天与大家分享一个支持批量转换的JS汉字转拼音插件,在操作上十分方便,转换功能也很强大,可一次输入多个汉字拼音、词语等,快速转换成拼音。  汉字转拼音时的功能选项:  对照方式: 普通翻译 对照(中文在拼音...

    ajax乱码解决汇总

    用AJAX 来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把 resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字...

    PHP+Ajax网站开发典型实例

    实例3 中文时间显示实例 实例4 删除字符串中的空白 实例5 字符串反转 实例6 字符串加密 实例7 检查日期的有效性 实例8 简单猜数游戏 实例9 验证信用卡号 实例10 计算两个数组并、交和差 实例11 数组排序 第...

    jquery+ajax无刷新评论源码

    客户端用escape()函数编码含中文的字符串,服务器端用unescape()解码,这样做是为了防止乱码,如果你采用的是utf8, 那就不必了,设置正确的页面编码和服务端脚本编码就不会出问题。由于jquery默认使用utf8传输数据...

    ajax post下载flask文件流以及中文文件名问题

    ajax post下载文件 后端返回文件流,flask中可使用 return send_file(文件路径) 返回二进制文件流,在headers中传送文件相关信息(如文件名)。 前端使用 URL.createObjectURL() 创建创建一个 DOMString ...

    关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法

    客户端是UTF-8编码,这也是现在大家公认的标准编码 在这种情况下,实用AJAX异步获取GB2312编码的服务器端信息时,不可避免的要遇到汉字乱码问题 因为目标数据是GB2312,但XMLHttpRequest默认是用UTF-8来进行数据封装...

    Js中文汉字转换拼音封装类.rar

    Js中文汉字转换拼音封装类,包括了了JS类和DEMO页面演示,打开HTML演示文件后,在上边的文本框中输入任意中文,下侧的文本框中立即会显示出对应的汉语拼音全写。在IE11下测试通过,火狐和Chrome未测试。

    丽华asp ajax搜索提示代码 v2.1.zip

    h2p.asp 字库汉字转拼音 转换时表内必须有汉字的关键词 h2p.asp?caozuo=all 一次性转化 需9999秒内执行完毕 test.asp 测试用 surl.asp 跳转页 重要 新词和权重加权在此页操作   比对上一个版本: 1 加入全...

    IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别实例分析

    本文实例讲述了IE浏览器与FF浏览器关于Ajax传递参数值为中文时的区别。分享给大家供大家参考,具体如下: 前面介绍了《Javascript基于AJAX回调函数传递参数》,这里主要来分析一下ajax传递中文参数过程中针对不同...

Global site tag (gtag.js) - Google Analytics