在Asp.net中可以使用Server.HTMLEncode和Server.URLEncode 将文本或URL的特殊字符编码, 但在控制台或Winform程序中没有办法使用到这些方法, 解决办法: 右击项目==》添加引用==》.NET==》System.Web==》确定 System.Web.HttpUtility.HtmlEncode(str); System.Web.HttpUtility.HtmlDecode(str); System.Web.HttpUtility.UrlEncode(str); System.Web.HttpUtility.UrlDecode(str); 编码后得到的字串和用Server.URLEncode编码得到的不一样,那边接收到的也是乱码?? 编码时可以指定编码的,如 System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.Unicode); System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.UTF8); System.Web.HttpUtility.UrlEncode(str,System.Text.Encoding.GetEncoding( "GB2312 ")); 等 解码也可以指定编码的 System.Web.HttpUtility.UrlDecode(str,System.Text.Encoding.Unicode); System.Web.HttpUtility.UrlDecode(str,System.Text.Encoding.UTF8); System.Web.HttpUtility.UrlDecode(str,System.Text.Encoding.GetEncoding( "GB2312 ")); MessageBox.Show(System.Web.HttpUtility.UrlEncode(s,System.Text.Encoding.GetEncoding("GB2312")).ToUpper()); 转自:http://blog.163.com/china_yd@126/blog/static/4762981920125252589817/