geel

要有耐心

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
昨天用CNDottext建了一个blog,注册部分稍微改写了一下,需要用论坛的用户名密码验证。那个验证程序是以前asp做的,接受用户名和密码两个参数,验证成功后输出xml格式的用户详细信息。这之中发现一个问题,中文用户名经过asp.net的Server.UrlEncode 之后是4字节编码(UTF8),而asp的urlencode却是用的系统默认编码,2字节。开始想当然的用 Encoding.Convert转换一下,可惜试验几次都失败。
巧的是,本想看一下HttpServerUtility的UrlEncode有没有什么说明,结果马虎之下点上了 HttpUtility,发现里面也有一个UrlEncode,其中有一个重载
public static string UrlEncode(
   
string str,
   Encoding e
);
试一下 HttpUtility.UrlEncode (name, Encoding.Default).ToUpper();
OK! 跟asp的结果一样。
posted on 2004-11-03 14:57  geel  阅读(3457)  评论(5编辑  收藏  举报