javascriptAJAX中文问题总结.doc_第1页
javascriptAJAX中文问题总结.doc_第2页
javascriptAJAX中文问题总结.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2009-02-26javascript AJAX 中文 问题总结今天碰到了 Ajax 乱码的问题,在网上找了半天资料,试了很多种方法,最后发现还是这篇文章告诉了我正确的办法,特此感谢。原文地址 : /hulizhong/archive/2007/04/21/112416.html 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 = .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()方法.在服务器端接收的时候要使用.URLDecoder.decode(,UTF-8)方法进行解码. 2)xtmlhttp 返回的数据默认的字符编码是utf-8,所以服务器要向客户端发送数据的时候,也要采用utf-8编码 如果上述方法仍然解决不了乱码问题,那你尝试一下把jsp,htm,java文件用UTF-8编码格式保存. 总之:前后台数据交互都采用utf-8编码就行了. - js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。 例如:document.write(退出); 2、 进行url跳转时可以整体使用encodeURI 例如:Location.href=encodeURI(/do/s?word=百度&ct=21); 3、 js使用数据时可以使用escape Huoho.Com编辑 例如:搜藏中history纪录。 4、 escape对0-255以外的unicode值进行编码时输出%u*格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。 最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同) escape不编码字符有69个:*,+,-,.,/,_,0-9,a-z,A-Z encodeURI不编码字符有82个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论