ASP.NET中文乱码解决方案四则

王朝学院·作者佚名  2009-11-20
窄屏简体版  字體: |||超大  

在做Asp.Net开发的时候,经常会遇到页面乱码的问题,请大家参考:

解决ASP.NET中文乱码的方法一般有4种:

ASP.NET中文乱码解决方法1.设置web.config文件

<system.web>

......

<globalizationrequestEncoding="gb2312"responseEncoding="gb2312"culture="zh-CN"fileEncoding="gb2312"/>

......

</system.web>

ASP.NET中文乱码解决方法2.传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。

>> 进行传递

stringName="中文参数";

Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));

>> 进行接收

stringName=Request.QueryString["Name"];

Response.Write(Server.UrlDecode(Name));

ASP.NET中文乱码解决方法3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。

>> 进行传递

<scriptlanguage="JavaScript">

functionGoUrl()

{

varName="中文参数";

location.href="B.aspx?Name="+escape(Name);

}

<bodyonclick="GoUrl()">

>> 进行接收

stringName=Request.QueryString["Name"];

Response.Write(Server.UrlDecode(Name));

还有一种是只要在传送时,编码就行了,获取时会自动帮你解码!

>> 进行传递

stringName="中文参数";

Response.Redirect("B.aspx?Name="+Server.UrlEncode(Name));

ASP.NET中文乱码解决方法总结:

一般来说。设置web.config文件就可以了。但是如果你用 JavaScript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。

或用

Response.Redirect("test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国"));

//建议使用最后如果是从其他的页面获取中文参数没有乱码,那就更简单了

stringmessage="http://localhost/Test/test1.aspx?111="+System.Web.HttpUtility.UrlEncode("中华人明共和国");

http:

//你要获取某个页面的返回值的地址"

//发送请求

HttpWebRequestmyHttpWebRequest=(HttpWebRequest)WebRequest.Create(message);

//接受请求

HttpWebResponsemyHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();

StreamreceiveStream=myHttpWebResponse.GetResponseStream();

StreamReaderreadStream=newStreamReader(receiveStream,System.Text.Encoding.GetEncoding("GB2312"));

//此为要取页面的返回值输出的返回结果

returnValue=readStream.ReadToEnd();

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航