想了解一下UTF-8编码,却无论如何也得不到正确的结果. 请高手指教!

解决方案 »

  1.   

    以下是原程序utf.asp:
    <%@ LANGUAGE="JAVASCRIPT" %>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <%
    Response.write ("这是你输入的内容:" + encodeURI ( decodeURI(Request("t1"))) );
    %><br/>
    <span style="color:blue">这些不是你输入的内容</span>
    在IE中运行:
    http://localhost/aj/utf/utf.asp?t1=ddd内容:ddd以下是运行结果:这是你输入的内容:ddd%E5%86%85%E5%AE%B9:ddd
    这些不是你输入的内容 
      

  2.   

     传值的时候进行处理 
    http://localhost/aj/utf/utf.asp?t1=encodeURI("ddd内容:ddd")
      

  3.   

    传值时处理的结果以下:这是你输入的内容:encodeURI(%22ddd%E5%86%85%E5%AE%B9:ddd%22)
    这些不是你输入的内容 似乎还不对!
      

  4.   

    http://localhost/aj/utf/utf.asp?t1=encodeURI("ddd内容:ddd")
    这个肯定不能直接这样写。
      

  5.   

    写成 t1="+encodeURI("ddd内容:ddd")+" 之类的,自己看看就知道了
      

  6.   

    修改了程序:<%@ LANGUAGE="JAVASCRIPT" %>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <%
    Response.write ("这是你输入的内容:" + decodeURI(Request("t1")) );
    %><br/>
    <span style="color:blue">这些不是你输入的内容</span>
    我输入:
    http://localhost/aj/utf/utf.asp?t1=%22ddd%E5%86%85%E5%AE%B9:ddd%22
    运行结果是:

    这是你输入的内容:"ddd内容:ddd"
    这些不是你输入的内容 
    实际应用时,只能靠程序动转码了?!
      

  7.   

    没那么复杂。你把页面编码改为UTF-8后,在保存页面的时候选择编码UTF-8,不要选择默认的ANSI。
      

  8.   

    我将程序修改过之后,在命令行输入的汉字不认了:<%@ LANGUAGE="JAVASCRIPT" CODEPAGE="65001" %>
    <% Session.CodePage=65001; %><html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body><%var t1 = Request.Querystring("t1");Response.write ("<br/>这是你输入的内容:" + decodeURI(t1) );
    Response.write ("<br/>这是你输入的内容类型:" + typeof(decodeURI(t1)) );
    Response.write ("<br/>这是你输入的内容长度:" + decodeURI(t1).length );%><br/>
    <span style="color:blue">这些不是你输入的内容</span>
    </body>
    </html>
      

  9.   

    1.你不能直接在url上加转码函数处理,可以在JS里处理好了以后,把转码后的字符串赋给tl
    2.页面编码utf-8,文件编码也采用utf-8
    3.utf-8编码,你用post方式传参数应该没问题,就不需要转换字符了。
      

  10.   

    我只是想体会一下UTF-8编码而已,不曾想,真的有这么多的技巧(麻烦?!).