ASP.NET中url传递中文参数

使用ASP.NET中的转码函数

 

~/ViewHouese/ViewBuildHouses.aspx?LouPanName=%c4%cf%b2%fd%c9%bd%cb%ae%c8%cb%bc%d2&BuildFor=%d7%a1%d5%ac&BuildNo=1

 

将页面中的a标签url中的楼盘名和楼栋类型参数值码化,再传给其他页面,在Webconfig文件中已经设置整个项目的页面是gb2312类型,按理来说在其他页面对这两个参数进行解码就可以还原中文值了,实际不是这样:

1.首先在转码页面,在后台成功转成的码值和浏览器呈现的html中的转码值不一样:

自己转码后的参数值

LouPanName=%c4%cf%b2%fd%c9%bd%cb%ae%c8%cb%bc%d2&BuildFor=%d7%a1%d5%ac&BuildNo=1

浏览器渲染后的 参数值

LouPanName=%c4%cf%b2%fd%c9%bd%cb%ae%c8%cb%bc%d2&BuildFor=%d7%a1%d5%ac&BuildNo=1"

2.然后在解码页面中,get方式接收到的url中参数值并不是我在转码页面手动转码的值,而是被浏览器二次转码后的值

Chrome浏览器 

LouPanName=%26%23196%3B%26%231010%3By%26%23637%3B%26%23750%3B%A8%A8%26%23764%3B%A8%B0&BuildFor=%26%231505%3B%26%231388%3B

 

liebao浏览器

LouPanName=%26%23196%3B%26%23207%3B%26%23178%3B%26%23253%3B%26%23201%3B%26%23189%3B%26%23203%3B%26%23174%3B%26%23200%3B%26%23203%3B%26%23188%3B%26%23210%3B&BuildFor=%A1%C1%26%23161%3B%26%23213%3B%26%23172%3B

 

IE浏览器

LouPanName=ÄϲýɽˮÈ˼Ò&BuildFor=סլ

 

 

最简单的解决办法:

Webconfig文件中设置整个项目的页面是gb2312类型

不用转码解码函数,直接用中文。

posted on 2015-02-25 21:31  JYsharp  阅读(383)  评论(0编辑  收藏  举报