escape函数解决js中ajax传递中文出现乱码问题
分类:计算机网络

正文实例叙述了escape函数化解js中ajax传递普通话出现乱码问题,分享给我们供大家参照他事他说加以考察。具体方法如下:

escape函数解决js中ajax传递普通话出现乱码难题,escapeajax

正文实例呈报了escape函数解决js中ajax传递中文出现乱码难点,共享给大家供大家参谋。具体方法如下:

一、难题陈述:

当然网页特效中的escape()是将汉语按iso-8859-1字符集实行url编码的,这样通过 request.getparameter()是能直接获取到央求参数的,但后来的javascript将escape()换来了unicode字符集编 码,如此一来,在jsp教程和servlet中就没办法直接得到乞求参数了,具体原因笔者也不亮堂。

二、化解办法:

1、首先对汉语字符进行五遍escape()编码,如要传参数name,值为“你好”,则url的格式为....name=escape(escape("你好")),那样一来,在request.getparameter()就能够取到编码后的参数了。

2、由于取到的参数是  %25u4f伍分一25u597d  格式的,没办法用常规的urldecoder.decode()来进展解码,万幸,那世上的牛人够多,在互连网一贯找到了多少个工具类,能落到实处javascript中escape()及unescape()式的编解码  

复制代码 代码如下:

<script language="javascript"> 
function get(id){return document.getelementbyid(id).value}
function setting()
  {
   var xmlhttp;
 if(window.activexobject)
 {
  xmlhttp=new activexobject("microsoft.xmlhttp")
 }else{
   xmlhttp=new xmlhttprequest();
 }
 xmlhttp.onreadystatechange=function()
 {
    if(xmlhttp.readystate==4)
    {
       if(xmlhttp.status==200)
    {
       alert("成功!")
    }else{
      alert(xmlhttp.status)
    }
    }
   }
 var url="action.asp教程?action=setting&rnd="+math.random()
 xmlhttp.open("post",url,true)
 var senddate ="title="+escape(get("title"))+"&conn_way="+escape(get("conn_way"))+"&databasename="+escape(get("databasename"))+"&sqlusername="+escape(get("sqlusername"))+"&sqlpassword="+escape(get("sqlpassword"))+"&sqllocalname="+escape(get("sqllocalname"))+"&pg_size="+escape(get("pg_size"))+"&adminid="+escape(get("adminid"))+"&adminpwd="+escape(get("adminpwd"));
2727 xmlhttp.setrequestheader('content-type','application/x-www-form-urlencoded');
 xmlhttp.send(senddate)
  }
</script>

下面的实例我们粤语只用了escape函数,语法如下:

概念和用法:
escape() 函数可对字符串进行编码,那样就足以在具备的计算机上读取该字符串。
语法:

escape(string)参数 描述
string 必得。要被转义或编码的字符串。

返回值:
已编码的 string 的别本。在那之中一些字符被替换来了十六进制的转义连串。

说明:
该方法不会对 ascii 字母和数字举办编码,也不会对上边这一个 ascii 标点符号进行编码: - _ . ! ~ * ' ( ) 。别的具有的字符都会被转义体系替换。

提醒和注释:
晋升:能够利用 unescape() 对 escape() 编码的字符串进行解码。
解说:ecmascript v3 不予动用该措施,应用使用 decodeuri() 和 decodeuricomponent() 取而代之

仰望本文所述对我们的javascript程序设计有所帮忙。

一、难题汇报:

js ajax 中文传参难题,怎把action的普通话准确传到js中不出新乱码?

在Tomcat 6.0conf那么些门路下修改server.xml里面配备,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" UXC90IEncoding="utf-8"/>,主假若增多U大切诺基IEncoding="utf-8"  

当然网页特效中的escape()是将汉语按iso-8859-1字符集进行url编码的,那样通过 request.getparameter()是能直接获取到哀告参数的,但后来的javascript将escape()换来了unicode字符集编 码,如此一来,在jsp教程和servlet中就万般无奈直接得到诉求参数了,具体原因我也不知道。

jsp 通过js函数中 嵌套的 ajax 向 servlet中传递参数,出现中文 乱码(问号) 搜尽全网未能够缓慢解决

参照他事他说加以考察答案:这一术语用来总结1600至1750前后贰个半世纪某种规范性音乐风格。17世纪,当翻译家、物工学家们最先放任关于世界的老一套观念格局而树立更为实用、更丰裕逻辑的认知基础时,美术大师们也在寻求用新的音乐语言来公布新的心理及精神境界,尝试把新的,更为热烈的情义内容溶入到从文化艺术复兴时期沿袭来的音乐样式个中。直到17世纪中叶,逐步变成旋律不断延长扩充、富于引力的节拍、刚烈的对照与音乐心理转换等新的音乐语言清劲风格,使音乐形态在整合的各类方面都得到以往一向不有过的发展。  

本文实例叙述了escape函数消除js中ajax传递汉语出现乱码难题,共享给我们供我们参照他事他说加以考察...

二、化解办法:

1、首先对中文字符实行五次escape()编码,如要传参数name,值为“你好”,则url的格式为....name=escape(escape("你好")),那样一来,在request.getparameter()就能够取到编码后的参数了。

2、由于取到的参数是  %25u4f伍分之一25u597d  格式的,没办法用常规的urldecoder.decode()来张开解码,还好,那世上的牛人够多,在英特网直接找到了二个工具类,能促成 javascript中escape()及unescape()式的编解码  

复制代码 代码如下:

<script language="javascript"> 
function get(id){return document.getelementbyid(id).value}
function setting()
  {
   var xmlhttp;
 if(window.activexobject)
 {
  xmlhttp=new activexobject("microsoft.xmlhttp")
 }else{
   xmlhttp=new xmlhttprequest();
 }
 xmlhttp.onreadystatechange=function()
 {
    if(xmlhttp.readystate==4)
    {
       if(xmlhttp.status==200)
    {
       alert("成功!")
    }else{
      alert(xmlhttp.status)
    }
    }
   }
 var url="action.asp教程?action=setting&rnd="+math.random()
 xmlhttp.open("post",url,true)
 var senddate ="title="+escape(get("title"))+"&conn_way="+escape(get("conn_way"))+"&databasename="+escape(get("databasename"))+"&sqlusername="+escape(get("sqlusername"))+"&sqlpassword="+escape(get("sqlpassword"))+"&sqllocalname="+escape(get("sqllocalname"))+"&pg_size="+escape(get("pg_size"))+"&adminid="+escape(get("adminid"))+"&adminpwd="+escape(get("adminpwd"));
2727 xmlhttp.setrequestheader('content-type','application/x-www-form-urlencoded');
 xmlhttp.send(senddate)
  }
</script>

地点的实例大家中文只用了escape函数,语法如下:

概念和用法:
escape() 函数可对字符串举行编码,那样就足以在颇具的微管理器上读取该字符串。
语法:

escape(string)参数 描述
string 必得。要被转义或编码的字符串。

返回值:
已编码的 string 的别本。个中一些字符被替换到了十六进制的转义系列。

说明:
该办法不会对 ascii 字母和数字进行编码,也不会对下面那几个 ascii 标点符号举办编码: - _ . ! ~ * ' ( ) 。别的具备的字符都会被转义连串替换。

唤醒和注释:
提拔:可以动用 unescape() 对 escape() 编码的字符串实行解码。
讲授:ecmascript v3 唱对台戏选择该形式,应用使用 decodeuri() 和 decodeuricomponent() 替代它

指望本文所述对大家的javascript程序设计具备帮忙。

您大概感兴趣的文章:

  • 地点栏传递中文参数乱码在js里用escape转码
  • js escape,unescape化解汉语乱码问题的办法
  • escape编码与unescape解码汉字出现乱码的减轻措施
  • php中json_encode UTF-第88中学文乱码的更好化解方法
  • php中json_encode管理gbk与gb231第22中学文乱码难点的消除格局
  • JS cookie华语乱码化解办法
  • js传普通话参数controller里获取参数乱码难题化解方法
  • 从js向Action传汉语参数出现乱码难题的消除形式
  • PHP json_encode华语乱码难点的消除办法
  • 深究PHP JSON中文乱码的缓慢解决方法详解
  • js通过地方栏给action传值(中文乱码全部是问号)

本文由正版必中一肖图发布于计算机网络,转载请注明出处:escape函数解决js中ajax传递中文出现乱码问题

上一篇:面向对象编制程序之ECMAScript达成,深切通晓Jav 下一篇:没有了
猜你喜欢
热门排行
精彩图文