ASP.NET浏览器地址栏URL会把编码变回中文????

时间:2022-08-27 22:07:45
如题,把中文编码后POST传递。
地址为:http://127.0.0.1/main.aspx?u_name=%e6%88%91%e6%98%af%e5%bc%a0%e4%b8%89 

关闭浏览器打开地址栏发现URL地址: http://127.0.0.1/main.aspx?u_name=我是张三

救助!!!

24 个解决方案

#1


关闭浏览器打开地址栏??? 

Server.UrlEncode()及Server.UrlDecode()编码及解码

#2


用了,打开链接:http://127.0.0.1/main.aspx?u_name=%e6%88%91%e6%98%af%e5%bc%a0%e4%b8%89
之后游览器会将原来的链接变为:http://127.0.0.1/main.aspx?u_name=我是张三
现在想让它保持编码后的传值。

引用 1 楼 taomanman 的回复:
关闭浏览器打开地址栏??? 

Server.UrlEncode()及Server.UrlDecode()编码及解码

#3


ASP.Net不能控制浏览器的地址栏的行为。

#4


是浏览器将地址:http://127.0.0.1/main.aspx?u_name=%e6%88%91%e6%98%af%e5%bc%a0%e4%b8%89
变为:http://127.0.0.1/main.aspx?u_name=我是张三

引用 3 楼 jiangsheng 的回复:
ASP.Net不能控制浏览器的地址栏的行为。

#5


这好像和浏览器有关吧,貌似IE会把地址中的中文转化,火狐能显示中文

#6


IE在百度上搜索 
http://www.baidu.com/s?wd=%C4%E3%BA%C3&word=%C4%E3%BA%C3&tn=sitehao123

地址栏没有将wd=%C4%E3%BA%C3 变为wd=你好  

ASP.NET就会呢?

#7


学习中

#8


神马情况, 神奇。

#9


  那就换一种方法吧,不要在url传递中文。

#10


ASP.Net不能控制浏览器的地址栏的行为。

#11


也许你的浏览器出问题了 

(*^__^*) 嘻嘻……

#12


有没有遇到此情况的说下解决方法?感激不尽。

#13


⊙﹏⊙b汗   就是中文才出现这样的问题!

引用 9 楼 haojuntu 的回复:
那就换一种方法吧,不要在url传递中文。

#14


加密解密。。

把参数加密 传递过去在解密。。

#15


能给代码吗!!!   O(∩_∩)O~

引用 14 楼 wxr0323 的回复:
加密解密。。

把参数加密 传递过去在解密。。

#16


引用 6 楼 nanmu200 的回复:
IE在百度上搜索 
http://www.baidu.com/s?wd=%C4%E3%BA%C3&word=%C4%E3%BA%C3&tn=sitehao123

地址栏没有将wd=%C4%E3%BA%C3 变为wd=你好  

ASP.NET就会呢?

我的IE不会显示,但是GOOGLE的就会显示,估计是浏览器的问题

#17


引用 15 楼 nanmu200 的回复:
能给代码吗!!!   O(∩_∩)O~

引用 14 楼 wxr0323 的回复:
加密解密。。

把参数加密 传递过去在解密。。


简单的

加密 :Response.Redirect("main.aspx?u_name=" + Server.UrlEncode("我是张三"));
    
解密: string name= Server.UrlDecode(Request.QueryString["u_name"]);

#18


还是会变中文,问题还没解决!


简单的

加密 :Response.Redirect("main.aspx?u_name=" + Server.UrlEncode("我是张三"));
    
解密: string name= Server.UrlDecode(Request.QueryString["u_name"]);

#19


不会的我觉得
除非是你以前的访问记录在地址栏

你删除所有的浏览器缓存再试试
恐怕就没有了把

#20


那就DES加密

#21


没用,浏览器还是把中文编码自动还原成中文。

引用 19 楼 fengyarongaa 的回复:
不会的我觉得
除非是你以前的访问记录在地址栏

你删除所有的浏览器缓存再试试
恐怕就没有了把

#22


ASP.Net不能控制浏览器的地址栏的行为。

#23


这是浏览器的事儿,跟ASP.NET半毛钱关系都没有...解决方法只有两个...

1.不要用中文uri...

2.换浏览器...

#24


把浏览器的编码方式改一下:
如果是IE浏览器的话  查看-->编码-->选一个

#1


关闭浏览器打开地址栏??? 

Server.UrlEncode()及Server.UrlDecode()编码及解码

#2


用了,打开链接:http://127.0.0.1/main.aspx?u_name=%e6%88%91%e6%98%af%e5%bc%a0%e4%b8%89
之后游览器会将原来的链接变为:http://127.0.0.1/main.aspx?u_name=我是张三
现在想让它保持编码后的传值。

引用 1 楼 taomanman 的回复:
关闭浏览器打开地址栏??? 

Server.UrlEncode()及Server.UrlDecode()编码及解码

#3


ASP.Net不能控制浏览器的地址栏的行为。

#4


是浏览器将地址:http://127.0.0.1/main.aspx?u_name=%e6%88%91%e6%98%af%e5%bc%a0%e4%b8%89
变为:http://127.0.0.1/main.aspx?u_name=我是张三

引用 3 楼 jiangsheng 的回复:
ASP.Net不能控制浏览器的地址栏的行为。

#5


这好像和浏览器有关吧,貌似IE会把地址中的中文转化,火狐能显示中文

#6


IE在百度上搜索 
http://www.baidu.com/s?wd=%C4%E3%BA%C3&word=%C4%E3%BA%C3&tn=sitehao123

地址栏没有将wd=%C4%E3%BA%C3 变为wd=你好  

ASP.NET就会呢?

#7


学习中

#8


神马情况, 神奇。

#9


  那就换一种方法吧,不要在url传递中文。

#10


ASP.Net不能控制浏览器的地址栏的行为。

#11


也许你的浏览器出问题了 

(*^__^*) 嘻嘻……

#12


有没有遇到此情况的说下解决方法?感激不尽。

#13


⊙﹏⊙b汗   就是中文才出现这样的问题!

引用 9 楼 haojuntu 的回复:
那就换一种方法吧,不要在url传递中文。

#14


加密解密。。

把参数加密 传递过去在解密。。

#15


能给代码吗!!!   O(∩_∩)O~

引用 14 楼 wxr0323 的回复:
加密解密。。

把参数加密 传递过去在解密。。

#16


引用 6 楼 nanmu200 的回复:
IE在百度上搜索 
http://www.baidu.com/s?wd=%C4%E3%BA%C3&word=%C4%E3%BA%C3&tn=sitehao123

地址栏没有将wd=%C4%E3%BA%C3 变为wd=你好  

ASP.NET就会呢?

我的IE不会显示,但是GOOGLE的就会显示,估计是浏览器的问题

#17


引用 15 楼 nanmu200 的回复:
能给代码吗!!!   O(∩_∩)O~

引用 14 楼 wxr0323 的回复:
加密解密。。

把参数加密 传递过去在解密。。


简单的

加密 :Response.Redirect("main.aspx?u_name=" + Server.UrlEncode("我是张三"));
    
解密: string name= Server.UrlDecode(Request.QueryString["u_name"]);

#18


还是会变中文,问题还没解决!


简单的

加密 :Response.Redirect("main.aspx?u_name=" + Server.UrlEncode("我是张三"));
    
解密: string name= Server.UrlDecode(Request.QueryString["u_name"]);

#19


不会的我觉得
除非是你以前的访问记录在地址栏

你删除所有的浏览器缓存再试试
恐怕就没有了把

#20


那就DES加密

#21


没用,浏览器还是把中文编码自动还原成中文。

引用 19 楼 fengyarongaa 的回复:
不会的我觉得
除非是你以前的访问记录在地址栏

你删除所有的浏览器缓存再试试
恐怕就没有了把

#22


ASP.Net不能控制浏览器的地址栏的行为。

#23


这是浏览器的事儿,跟ASP.NET半毛钱关系都没有...解决方法只有两个...

1.不要用中文uri...

2.换浏览器...

#24


把浏览器的编码方式改一下:
如果是IE浏览器的话  查看-->编码-->选一个