js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,
相应3个解码函数:unescape,decodeURI,decodeURIComponent

解决方案 »

  1.   


    <script language="javascript">
    String.prototype.UrlEncode = function()
    {
    var str = this;
    str = str.replace(/./g,function(sHex)
    {
    window.EnCodeStr = "";
    window.sHex = sHex;
    window.execScript('window.EnCodeStr=Hex(Asc(window.sHex))',"vbscript");
    return window.EnCodeStr.replace(/../g,"%$&");
    });
    return str;
    }
    document.write("万圣节".UrlEncode())
    </script>
      

  2.   

    那也就是说,不能基于Firefox用了。有好的解决方案吗?多浏览器可以用的
      

  3.   

    <a href="test.aspx?name="+escape("万圣节")>bbgtbb<a/>
    相应的test.aspx.cs页面
    不需要去解码,利用下面的方式获取会自动解码的
      public string Name 
        {
            get 
            {
                string name = Request.Params["name"];
                if (name != null && name != "")
                {
                    return name;
                }
                else 
                {
                    return "";
                }
            }
        }
      

  4.   

    不好意思,刚有点错误
    <a href="test.aspx?name="+escape("万圣节")>bbgtbb<a/>
    不能这样写
    因该是这样 <a href="javascript:void()" onclick="go();"></a>
    JS:
    <script type="text/javascript">
        function go()
        {
           document.getElementById("test").href="test.aspx?name"+escape("万圣节");    
        }
        </script>
      

  5.   

    楼上的,我可能是没有说清楚。。
    我现在是utf8的页面,里面有中文的数据,需要提交到百度去搜索。
    百度默认的是gb2312,所以提交过去之后,是乱码。所以我就想,能不能在用js提交过去的时候,把数据处理成百度可以认识的。Google的就不存在这个问题
      

  6.   


    escape不是最佳解决方式有些时候用不了
      

  7.   


    var _key = escape("万圣节");//_key="%CD%F2%CA%A5%BD%DA";
    //若要反过来就用unescape()
      

  8.   

    escape是行不通的。。百度就不是用escape来转码的
      

  9.   

    <%
    ck="万圣节"url="http://www.baidu.com/s?wd="&server.urlencode(ck)&""response.redirect ""&url&""
    %>