静态页面html之间传递中文参数出现乱码问题的解决方案

原创 2011年01月11日 02:09:00

说到乱码问题,要用到JavaScript unescape() 函数;他的具体用法如下:

定义和用法  unescape() 函数可对通过 escape() 编码的字符串进行解码。

语法

  unescape(string)

参数 描述
string 必需。要解码或反转义的字符串。

返回值

  string 被解码后的一个副本。

说明

  该函数的工作原理是这样的:通过找到形式为 %xx 和 %uxxxx 的字符序列(x 表示十六进制的数字),用 Unicode 字符 /u00xx 和 /uxxxx 替换这样的字符序列进行解码。

提示和注释

  注释:ECMAScript v3 已从标准中删除了 unescape() 函数,并反对使用它,因此应该用 decodeURI() 和 decodeURIComponent() 取而代之。

实例

  在本例中,我们将使用 escape() 来编码字符串,然后使用 unescape() 对其解码:

  <script type="text/javascript">var test1="Visit W3School!"test1=escape(test1)document.write (test1 + "<br />")test1=unescape(test1)document.write(test1 + "<br />")</script>输出:

  Visit%20W3School%21Visit W3School!

 

具体的例子如下:

请求的html页面(send.html)

<script type="text/javascript">
function sub(){
var froms = document.getElementById("form1");
    var flag=document.getElementById("ceshi").value;
    froms.action="ceshiAction.action?ceshi=escape("+flag+")",
     froms.submit();
}
</script>

  <body>
    <form action="" name="form1" id="form1" method="post" >
   参数: <input type="text" id="ceshi" name="ceshi" value=""/>
   <input type="submit" value="提交"  onclick="sub()"/>
    </form>

</body>

接受参数的静态页面(jieshou.html):

<script>
function getparastr(strname)
  {
   var hrefstr,pos,parastr,para,tempstr;
    hrefstr = window.location.href;
    var leng=hrefstr.length;
  var array = hrefstr.split("=");
    for(i=0;i<=array.length;i++)
 {
 document.write(array[i+1].substr(7,array[i+1].length-8)+" ");
 if(i==array.length-2){
  break;
  }
 }
 
   return unescape(hrefstr).substr(61,leng-63);
  }
// 获取program参数

var programstr = getparastr("program");
document.write();
</script>
</body>

相关文章推荐

html 之间如何通过URL传输参数,并解决中文乱码问题

首先先看一个HTML页面间传递参数的小例子:                              当在输入框中输入内容后,点击搜索,应用就会跳转到搜索页面,并传递了上一个页面搜索的内容“九”...

HTML获取链接中的参数(解决中文乱码问题)

这是之前在网上找的一个HTML页面获取链接后面的参数的例子,本人觉得写的很好,一直在用,下面粘贴上js源码:var LocString=String(window.document.location....

js跳转页面传参,参数值包含中文时显示乱码解决方案

1、首先我们需要在js中进行中文转码处理,需要进行encode两次转码。不然还是会出现乱码,至于为什么需要两次,我这里上网查了一下,因为Tomcat服务器会自动帮你做一次URLDecode,所以再加上...

MultipartEntity上传文件时传递中文参数出现乱码的解决方案

最近项目中有个模块需要上传多张图片,在传递每个文件的文件名字的时候,服务端收到的中文是乱码,经检查发现双方都是utf-8,各种调试之后,我把问题定位到MultipartEntity的设置上面,最终找到...

HtmlAgilityPack 抓取中文页面乱码问题的解决方案

来自:http://outofmemory.cn/code-snippet/2002/HtmlAgilityPack-zhuaqu-zhongwen-page-luanma-question-jiej...

使用jsp include标签包含静态页面出现的乱码问题

jsp include页面出现问题的解决方法: 1.当jsp include动态文件时(jsp文件)可以在被include的jsp文件头部加上代码: 2.当jsp include静态文...

Java web的URL地址参数传递中文乱码的解决方案

系统很多Url地址都暴露给用户,存在安全隐患,用户可以去随意修改Url地址和参数值,为了解决这个问题提供以下解决方案,具体步骤如下: 第一步:编码URL地址,调用CommonMethod.js的re...

关于地址栏传递中文参数的乱码的终极解决方案

乱码,乱码,头大,烦,话说设置Tomcat后可以解决,但有的时候不管用了,这时,我们可以考虑转码方式不直接传中文,在js里用escape转码,记得需要用两次,如: var str=escape("这...
  • tjcyjd
  • tjcyjd
  • 2012年07月25日 23:32
  • 6623

JS实现静态页面之间的参数传递

JS实现静态页面之间的参数传递
  • wdzmds
  • wdzmds
  • 2016年02月26日 14:33
  • 230
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:静态页面html之间传递中文参数出现乱码问题的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)