ASP.NET中文乱码问题解决

解决的方法一般有 3种:

1.设置web.config文件

<system.web> 
 
<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture="zh-CN" fileEncoding="gb2312" /> 
 
</system.web> 

这个在IE中浏览是没问题了,但是在火狐中浏览反而出问题了(在火狐中不加这个倒是正常显示,不是乱码)

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

>> 进行传递

string Name = "中文参数";
Response.Redirect(
"B.aspx?Name="+Server.UrlEncode(Name)) ;

>> 进行接收

string Name = Request.QueryString["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()"> 

 

>> 进行接收

string Name = Request.QueryString["Name"]; 
Response.Write(Server.UrlDecode(Name)) ; 

 

注:第一种 + 第三种 都用上,在IE和火狐都没问题了。

 

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


 

Code

以上,是网上的摘录写到Blog里留着备用。。

 

 

 

posted @ 2009-11-12 11:09  Alex.Net  阅读(181)  评论(0)    收藏  举报