刘荣逵技术博客

Work for a better day

c#中URL中文编码问题解决方案

 

 


      在项目中做到了个下载的功能,从文件列表中发现有个中文命名的文件,但是去文件服务器中下载却下载不到。当时就意识到应该是编码问题,在网上寻解…… 现将收获共享与大家

      在你的项目中添加一个新的方法:

        protected string UrlEncode(string url)
{
byte[] bs = Encoding.GetEncoding("GB2312").GetBytes(url);
StringBuilder sb
= new StringBuilder();
for (int i = 0; i < bs.Length; i++)
{
if (bs[i] < 128)
sb.Append((
char)bs[i]);
else
{
sb.Append(
"%" + bs[i++].ToString("x").PadLeft(2, '0'));
sb.Append(
"%" + bs[i].ToString("x").PadLeft(2, '0'));
}
}
return sb.ToString();
}

 

    在需要的URL上把URL传值与这个方法,之后重新赋予返回值……

    ok……

posted on 2008-12-02 15:23  Rock.Liu  阅读(1777)  评论(2编辑  收藏  举报

导航