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 >
或者:
aspx文件中:
<
meta
http-equiv
="Content-Type"
content
="text/html; charset=gb2312"
/>
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));
或者:
NavigateURL
=
'
<%# "WebForm2.aspx?Singer=" + HttpUtility.UrlEncode("中国人", System.Text.Encoding.GetEncoding("GB2312")) %>
'
3.如果是从 .HTML 文件向 .Aspx 文件进行传递中文参数的话(即不从后台用 Redirect()方法进行 Url 转换)。一样要将传递的中文参数进行编码,在接收时再进行解码。
>>> 进行传递
>>> 进行传递
代码
<
script language
=
"
JavaScript
"
>
function GoUrl(){
var Name = " 中文参数 " ;
location.href = " B.aspx?Name= " + escape(Name);
}
< / script>
< body onclick = " GoUrl() " >
function GoUrl(){
var Name = " 中文参数 " ;
location.href = " B.aspx?Name= " + escape(Name);
}
< / script>
< 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 文件好象无效。
————————————————————
在html中实现编解码:
————————————————————
在html中实现编解码:
代码
<
script language
=
"
javascript
"
>
function openUrl(src){
var strUrl = escape(src);
window.open(strUrl);
}
function change_url(src){
document.location.href = escape(src);
}
< / script>
function openUrl(src){
var strUrl = escape(src);
window.open(strUrl);
}
function change_url(src){
document.location.href = escape(src);
}
< / script>
在新窗口保存
<
a
href
='javascript:openUrl("css/合同.doc");'
>
交合同
</
a
>
当前位置保存,无闪烁。
<
a
href
="#"
onclick
='change_url("css/合同.doc")'
>
合同
</
a
>
注意:路径中的斜线是:“/”,而不是“\”,否则也不行啊。