我记得javascript里有个escape()函数是实现这种功能的,不知道 采取 的哪中编码方式?
我把 知道 的县面这些编码方式都用了 ,没有达到效果:
代码页 名称 
1200 “UTF-16LE”、“utf-16”、“ucs-2”、“unicode”或“ISO-10646-UCS-2” 
1201 “UTF-16BE”或“unicodeFFFE” 
1252 "windows-1252" 
65000 “utf-7”、“csUnicode11UTF7”、“unicode-1-1-utf-7”、“unicode-2-0-utf-7”、“x-unicode-1-1-utf-7”或“x-unicode-2-0-utf-7” 
65001 “utf-8”、“unicode-1-1-utf-8”、“unicode-2-0-utf-8”、“x-unicode-1-1-utf-8”或“x-unicode-2-0-utf-8” 
20127 “us-ascii”、“us”、“ascii”、“ANSI_X3.4-1968”、“ANSI_X3.4-1986”、“cp367”、“csASCII”、“IBM367”、“iso-ir-6”、“ISO646-US”或“ISO_646.irv:1991” 
54936 "GB18030" 望大虾 指教?
多谢 

解决方案 »

  1.   

    "_" is not a special character in HTML world, just use it directly
      

  2.   

    用 Request.Cookies("My_User")无法得到cookie,用Request.Cookies("My%5FUser")则 可以得到。如果是 aspx之间传的话,有"_"字符似乎也没问题,但是asp到asp.net确是我描述的酱紫。我怀疑前面一些贴子所说的asp到asp.net的cookie读取不成,症结也在这里:有人说可以传,有人说不可以——我想可能是,可以传的情况下是因为cookie名里不含一些特殊字符,不可以传的是因为含有一些特殊的字符,比方说这里的"_"。因为我将程序里几个有"_"字符的cookie名或者cookie里的变量名字用"%5F"替换掉"_"就可以读到,否则部可以。
      

  3.   

    忘了说了,我这问题是在asp转到aspx页面时遇到的,aspx页面无法通过Request.Cookies("My_User")获得cookie
      

  4.   

    string result = Page.Server.UrlEncode(src);
      

  5.   

    sorry, you are right, seems ASP changes "_" to "%5F" but ASP.NET doesn't, and ASP.NET doesn't seem to do UrlDecode on the name, not sure if there is a better method than manually doing UrlEncode on the names for Request.Cookies.AllKeys
      

  6.   

    to  uno(钢盅郭子) 
    不行的啊。我试过了。
    response在写cookie的时候是通过什么方式把一些字符编码的呢?
      

  7.   

    那就自己替换吧
    string.Replace("_", "%5F");
      

  8.   

    对的,我暂时是这样处理的。但是如果遇到其他字符,我不希望一个一个去cookie文件里查在写字符串替换句子。所以希望知道asp写cookie时用的是什么编码方式。