asp 站点用IIS7 URLREWRITE 2.0 网址伪静态传递中文参数时乱码,怎么解决?能解决追加赏分

asp 站点用IIS7 URLREWRITE 2.0 网址伪静态传递中文参数时乱码,怎么解决?能解决追加赏分,第1张

先将中文参数  使用server.URLEncode()进行编码;

在接收页头部加下面代码,记得一定得是最上面

<%Session.CodePage = 65001

request.QueryString("key")   ‘key参数可有可无,可以是空的

 

Session.CodePage = 936       %>

那个可不是乱码

楼主应该看到百度贴吧、知道上好多URL也是这种的吧?

这个叫做Percentage Encoding(百分好编码转换)。因为URL中?,&,等许多特殊符号,这些符号可能会误导服务器,所以他们中的一些特殊字符(如:! * ' ( ) : @ & = + $ , / ? % # [ ]或中文字符、日文字符),都会被encode成百分号开头的字符串。

比如:空格被encode成%20,!被encode成%21,*被encdoe成%2A等等。参考资料中有具体的URL encoding介绍。

Apache中URL rewriting这个Module,主要是针对改变网页文件拓展名或隐藏网页文件拓展名,跟Percentage Encoding没关系,因为Percentage Encoding是所有正规URL都要遵守的规则,不遵守规则,信息就不能发送成功。不过楼主可以试一下<a href="http://127.0.0.1/test.html/你的信息"></a>这样的链接,到时候,浏览器会自动帮你转换成Percentage Encoding模式。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/54217.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-02-26
下一篇2023-02-26

发表评论

登录后才能评论

评论列表(0条)

    保存