ASP.NET中文乱码问题解决
来源:互联网 发布:红色气质微电影 知乎 编辑:程序博客网 时间:2024/03/29 13:01
在做Asp.Net开发的时候,经常会遇到页面乱码的问题,下面是在网上收集的相关资料,请大家参考:
以下转载自:
http://blog.csdn.net/echsys/archive/2008/03/12/2174125.aspx
解决的方法一般有3种:
1.设置web.config文件
<system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web>
......
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" />
......
</system.web>
2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递
string Name = "中文参数";
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)) ;
Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name)) ;
>> 进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;
Response.Write(Server.UrlDecode(Name)) ;
3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。
>> 进行传递
<script language="JavaScript">
function GoUrl()
{
var Name = "中文参数";
location.href = "B.aspx?Name="+escape(Name) ;
}
<body onclick="GoUrl()">
function GoUrl()
{
var Name = "中文参数";
location.href = "B.aspx?Name="+escape(Name) ;
}
<body onclick="GoUrl()">
>> 进行接收
string Name = Request.QueryString["Name"];
Response.Write(Server.UrlDecode(Name)) ;
Response.Write(Server.UrlDecode(Name)) ;
总结:
一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。
或用
Response.Redirect("test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国")) ;
//建议使用最后如果是从其他的页面获取中文参数没有乱码,那就更简单了
string message ="http://localhost/Test/test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国");
http:
//你要获取某个页面的返回值的地址"
//发送请求
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(message) ;
//接受请求
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse() ;
Stream receiveStream = myHttpWebResponse.GetResponseStream() ;
StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.GetEncoding("GB2312")) ;
//此为要取页面的返回值输出的返回结果
returnValue = readStream.ReadToEnd();
//建议使用最后如果是从其他的页面获取中文参数没有乱码,那就更简单了
string message ="http://localhost/Test/test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国");
http:
//你要获取某个页面的返回值的地址"
//发送请求
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(message) ;
//接受请求
HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse() ;
Stream receiveStream = myHttpWebResponse.GetResponseStream() ;
StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.GetEncoding("GB2312")) ;
//此为要取页面的返回值输出的返回结果
returnValue = readStream.ReadToEnd();
以上,是网上的摘录写到Blog里留着备用。。(*^__^*) 嘻嘻……
- ASP.NET中文乱码问题解决
- ASP.NET中文乱码问题解决
- ASP.NET中文乱码问题解决。
- ASP.NET中文乱码问题解决
- ASP.NET中文乱码问题解决
- ASP.NET中文乱码问题解决
- asp.net Cookie值中文乱码问题解决方法
- asp.net 中文乱码
- .net中中文乱码问题解决
- asp.net 中文乱码问题
- asp.net中文乱码解决办法
- mysql+asp.net 中文乱码
- 解决ASP.NET中文乱码
- ASP.NET 页面中文乱码
- ASP.NET MySQL 中文 乱码
- Asp.Net url 中文乱码
- 解决ASP.NET中文乱码
- ASP.NET中文乱码问题
- WebService的基本概念
- JUnit 4教程入门
- eclipse中使用不同jdk版本的项目设置
- JS图片循环播放
- 推荐一篇ajax的文章
- ASP.NET中文乱码问题解决
- 一直拖拉欠没做完的事情
- 项目经理的工具箱---走出软件作坊:三五个人十来条枪 如何成为开发正规军(三)
- HTML代码注释
- this is my first login
- JTable中随意位置插入列
- 在存储过程中调用外部的动态连接库(MS SQL Server7.0/2000环境)
- Linux 添加系统字体
- 求用VB和AXXESS做的学生上机数据库