请高手赐教!encodeURI似乎不行,或者我用的不对,因为IE不识别他,是什么原因呢?

解决方案 »

  1.   

    我也想知道,它好象是一种UNICODE方式编码的。具体怎么回事我也不清楚了
      

  2.   

    <form method="post">这样试试
      

  3.   

    轉碼   escape()轉回來 unescape()
      

  4.   

    这些是UNICODE 编码,
    而不是 escape()码哦。呵呵。这些在javaScript里没有提供这样的函数。
    还要根据系统的不同产生不同的编码哦。
      

  5.   

    中文变成%D6%D0应该是ie将双字节的unicode码单字节地(分成两个来处理)翻译成用%xx表示的16进制码。
    而escape()是将双字节的中文翻译成%uxxxx这样的格式.unescape()可以将这样的字符串还原成汉字.不过无法将ie编码的中文翻译回来.
    就我了解js中没有函数可以将ie编码过的中文直接翻译回来.
    所以只有在ie转化非ASCII字符前用escape()转码,才可以通过url将你的中文内容传递到下一个页面(接受时用unescape()还原).晚了,回家了...
      

  6.   

    看来真是没辙了,唉,带中文参数传输(Servlet接收)是不可以的喽?
      

  7.   

    To:zarz(渣滓)
    我现在想要的是编码函数(JS),而接收参数的函数直接就进行解码了
      

  8.   

    用Javascipt在客户端解码不好吧?
    假如带中文参数的Servlet不接收,那么我注册时填入的一些中文怎么提交的?请参考下面代码
    import java.io.*;public class cnConvert {  public cnConvert() {
      }  //中文编码的转换----------------------------------------------------------
       public String toGb(String uniStr){
        String gbStr = "";
        if(uniStr == null){
          uniStr = "";
        }
        try{
         byte[] tempByte = uniStr.getBytes("ISO8859_1");
         gbStr = new String(tempByte,"GB2312");
        }catch(UnsupportedEncodingException uef){
       }
        return gbStr;
      }
      public String toUni(String gbStr){
        String uniStr = "";
        if(gbStr == null){
          gbStr = "";
        }
        try{
         byte[] tempByte = gbStr.getBytes("GB2312");
         uniStr = new String(tempByte,"ISO8859_1");
        }catch(UnsupportedEncodingException uef){
       }
        return uniStr;
      }
      //end ot toGb---------------------------------------------------------
    }