如何使用Response.Redirect 方法传递汉字
2006-12-07 13:58
429 查看
摘:ASP.NET 疑难解答 200问
使用Response.Redirect 方法传递汉字,有时会发现所传的值和接收到的内容不符,接收的值丢失了几个字或者变成了一堆乱码。那么如何才能保证所传递的汉字被正确接收呢?
解答:
为了保证所传递的汉字被正确接收,可以在传递之前使用UrlEncode 方法对所传递的汉字进行Url编码。这样就保证通过URL 从 Web 服务器到客户端进行可靠的HTTP传输,避免了接收值是乱码的现象。
页面A 传递值的代码如下:
String Message = Server.UrlEncode("欢迎学习 ASP.NET!");
Response.Redirect("WebForm2.aspx?Msg="+Message);
页面B 接收值的代码如下。
String Message = Server.UrlDecode(Request.QueryString["Msg"]);
专家点评:
有些情况下传递的汉字变成乱码是由于浏览器和程序所用的编码格式不同引起的,ASP.NET 应用程序默认的编码格式为“utf-8”。打开程序的 Web.config 文件可以看到如下代码。
<?xml version="1.0" encoding="utf-8"?>
可通过修改 encoding 属性值 改变应用程序的编码格式,有些情况下为了解决显示中午乱码的问题需要将此属性设置为 “gb2312”。
使用Response.Redirect 方法传递汉字,有时会发现所传的值和接收到的内容不符,接收的值丢失了几个字或者变成了一堆乱码。那么如何才能保证所传递的汉字被正确接收呢?
解答:
为了保证所传递的汉字被正确接收,可以在传递之前使用UrlEncode 方法对所传递的汉字进行Url编码。这样就保证通过URL 从 Web 服务器到客户端进行可靠的HTTP传输,避免了接收值是乱码的现象。
页面A 传递值的代码如下:
String Message = Server.UrlEncode("欢迎学习 ASP.NET!");
Response.Redirect("WebForm2.aspx?Msg="+Message);
页面B 接收值的代码如下。
String Message = Server.UrlDecode(Request.QueryString["Msg"]);
专家点评:
有些情况下传递的汉字变成乱码是由于浏览器和程序所用的编码格式不同引起的,ASP.NET 应用程序默认的编码格式为“utf-8”。打开程序的 Web.config 文件可以看到如下代码。
<?xml version="1.0" encoding="utf-8"?>
可通过修改 encoding 属性值 改变应用程序的编码格式,有些情况下为了解决显示中午乱码的问题需要将此属性设置为 “gb2312”。
相关文章推荐
- 如何用Response.Redirect方法传递汉字
- ASP:如何解决Response.Redirect方法传递汉字丢失或乱码问题?
- 如何用Response.Redirect方法传递汉字
- 如何用Response.Redirect方法传递汉字
- 如何用Response.Redirect方法传递汉字
- 如何用Response.Redirect方法传递汉字
- 如何用Response.Redirect传递汉字
- Server编解码 解决Response.Redirect方法传递汉字丢失或乱码
- 如何用Response.Redirect传递汉字
- 【疑问】如何在jsp中response.sendRedirect()方法中传递中文参数
- 用Response.Redirect()传递汉字
- php服务端 如何接受前端使用ajax发送get请求而传递过来的汉字
- Java代码中使用response.redirect(url)方法,无法获取到中文的解决方法
- 如何使用jsp方法生存彩色汉字的验证码
- 【转】使用Response.Redirect打开新窗口的方法
- ASP.NET 关于Response.Redirect()方法的使用
- 如何使用jsp方法生存彩色汉字的验证码
- 如何解决Response.Redirect方法传…
- 下面的示例演示如何使用传递到事件处理方法的 GridViewCommandEventArgs 对象确定引发事件的按钮的命令名。
- Response.Redirec方法传递汉字出现乱码