使用Response.Redirect方法传递汉字,有时会发现所传递的值和接收到的内容不符,接受的值丢失了几个字或者变成了一堆乱码.那么如何才能保证所传递的汉字被正确接收呢?
页面A传递值的代码如下:
页面A传递值的代码如下:
string Message=Server.UrlEncode("欢迎学习ASP.NET!");
Response.Redirect("WebForm2.asp?Msg="+Message);
页面B接受值的代码如下:
Response.Redirect("WebForm2.asp?Msg="+Message);
string Message=Server.UrlDecode(Request.QueryString["Msg"]);
有些情况下传递的汉字变成乱码是由于浏览器和程序所用的编码格式不同引起的,ASP.NET应用程序默认的编码格式为"utf-8".打开程序的Web.config文件可以看到如下代码:
<?xml version="1.0" encoding="utf-8" ?>
可通过修改encoding属性值改变应用程序的编码格式,有些情况下为了解显示中文乱码的问题需要将此属性设置为"gb2312".