显示列表

今天突然发现Server.UrlEncode和HttpUtility.UrlEncode对字符编码输出不一样。

string str = "皮革";
Response.Write(Server.UrlEncode(str));
Response.Write("<br/>");
Response.Write(System.Web.HttpUtility.UrlEncode(str));

输出显示
%c6%a4%b8%ef
%e7%9a%ae%e9%9d%a9

在网上搜索了下,原来是编码问题。HttpUtility.UrlEncode默认是以UTF8进行编码,而Server.UrlEncode则以默认的编码进行编码。

指定编码后就一样了。
string str = "皮革";
Response.Write(Server.UrlEncode(str));
Response.Write("<br/>");
Response.Write(System.Web.HttpUtility.UrlEncode(str, Encoding.GetEncoding("GB2312")));

标签:URL编码 
返回摘要 | 分类(Asp.Net) | 访问(707) | 编辑