中文参数传值问题?急、急、急,来者有分
test.aspx页面代码部分:
protected void Page_Load(object sender, EventArgs e)
{
if (Request[ "dd "] != null)
Label1.Text = Server.HtmlDecode(Request.QueryString[ "dd "].ToString());
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect( "test.aspx?dd= " +Server.HtmlEncode(TextBox1.Text));
}
web.config中设置了
<globalization requestEncoding= "gb2312 " responseEncoding= "gb2312 " culture= "zh-CN " />
但我传递出来的中文是乱码如:
“我”变成了“鎴?”
去掉web.config中的设置则正常
有没办法解决这个问题,主要是页面的编码出现的问题
------解决方案--------------------编码问题
建议你不要中文传参,以后的麻烦会更多
------解决方案--------------------你看一下百度的传参
http://www.baidu.com/s?wd=%CD%E6%D0%A1%BD%E3%BC%BC%C7%C9
------解决方案--------------------不要设置 <globalization requestEncoding= "gb2312 " responseEncoding= "gb2312 " culture= "zh-CN " />
Html.Encode是就是对字符编码
------解决方案--------------------Response.Redirect( "test.aspx?dd= " +Server.HtmlEncode(TextBox1.Text));
=> Response.Redirect( "test.aspx?dd= " +Server.UrlEncode(TextBox1.Text));
用Server.UrlDecode方法获取
------解决方案--------------------utf-8
或者在传参前后编码解码
------解决方案--------------------传参数时加上Server.UrlEncode
保证100%好用~