<script>
str = encodeURI("中文");
decodeStr = decodeURI(str)
alert(str+"->"+decodeStr)
</script>

解决方案 »

  1.   

    <script>
    str = encodeURI("中文");
    decodeStr = decodeURI(str)
    alert(str+"->"+decodeStr)
    </script>
    转化的结果和页面post过去截获的数据不一样
    比如"中国人",decode的结果是"%E4%B8%AD%E5%9B%BD%E4%BA%BA",但实际结果是"%D6%D0%B9%FA%C8%CB",一般来说,一个汉字包含两个编码,所以应该是6个编码,形如D6%D0%B9%FA%C8%CB"是正确的。请问唠叨兄,你是如何得到"%b4%c3" 是汉字“疵”?有什么函数?
      

  2.   

    <form action="http://localhost/customerinfo.asp" method="post">
    <input name=postinfo value=中国人>
    <input type=submit>
    </form>奇怪了,看我的页面,故意弄出错看 post 数据,这是 customerinfo.asp 的反馈:========
    技术信息(用于支持人员)错误类型:
    Microsoft JScript 运行时错误 (0x800A138F)
    缺少对象
    /test/sale/customerinfo.asp, 第 14 行
    浏览器类型:
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705) 网页:
    POST 29 ??? /test/sale/customerinfo.aspPOST Data:
    postinfo=%E4%B8%AD%E5%9B%BD%E4%BA%BA 时间:
    2003年6月19日, 13:22:31
      

  3.   

    我截获的数据是通过我自己写的WebServer得到的数据,中国人是"%D6%D0%B9%FA%C8%CB",在C++中我定义一个字附数组,通过指定它的每个元素等于对应的值,如:
    char tt[20];
    tt[0] = 0XD6;
    tt[1] = 0XD0;
    tt[2] = 0XB9;
    tt[3] = 0XFA;
    tt[4] = 0XC8;
    tt[5] = 0XCB;
    ShowMessage(tt);
    得到的结果就是“中国人”。
    问题就复杂了。
    到底"%E4%B8%AD%E5%9B%BD%E4%BA%BA"和"%D6%D0%B9%FA%C8%CB"各是通过那种编码传输的?
    什么时候会采用何种编码传输?
    和header区中的<meta ...charset=gb2312/UTF-8>有关系吗?
    哪位兄弟能给我解答,感激不尽!