今天测试昨天完成的页面,参数中用了中文,发现结果不对,有乱码。打开Web.config,发现.NET在Web.config中的默认编码格式为utf-8,于是在传输中文的时候变成了乱码,相应的接收也是乱码,解决这个问题主要可以用两种方法。
第一种方法,是更改Web.config中的编码方式:
在你的web.config中把
<globalization requestEncoding="utf-8″ responseEncoding="utf-8″/>
改为<globalization requestEncoding="gb2312″ responseEncoding="gb2312″/>
第二种方法,在传递之前先编码,如:
string strName = Server.URLEncode("知识共享");
Response.Redirect("Manage.aspx?strTitle=" + strName);
然后在接收端用 Server.URLDecode(Request.QueryString["strTitle"]);
个人觉得第二种方法更佳,.aspx文件的 ResponseEncoding 属性最好不要设置。