asp.net下url传递中文的解决方案
程序员文章站
2023-11-03 22:57:52
1.设置web.config文件。(我不喜欢设置成这样) ......
1.设置web.config文件。(我不喜欢设置成这样)
<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));
>> 进行接收
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);
}
</script>
<body onclick='gourl()'>
>> 进行接收
string name = request.querystring['name'];
response.write(server.urldecode(name));
一般来说。设置web.config文件就可以了。但是如果你用 javascript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。
<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));
>> 进行接收
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);
}
</script>
<body onclick='gourl()'>
>> 进行接收
string name = request.querystring['name'];
response.write(server.urldecode(name));
一般来说。设置web.config文件就可以了。但是如果你用 javascript 调用 webservice 方法的话(往webservice里面传递中文参数)。设置 web.config 文件好象无效。