处理get模式提交的包含特殊字符的参数

一旦一个朋友遇到这样一个问题,一个产品名在Plastic,在产品列表中生成这样一个连接在塑料,当服务器接收到这个参数时,它就不能接收到确切的产品名称。
那时,我问我怎么解决它。也许是当时忙,告诉他他的嘴使用HtmlEncode方法。对方没有解决这个问题,我不后悔回答,偶尔我错了,今天,已经安排好了如何处理那些由GET提交的特殊字符的参数,以心的愧疚。



特殊特殊字符的意义
----……----……----
字符特殊字符URL编码的意义
#用来签署文件的特定位置的% 23
%的特殊字符编码% 25
将不同变量的值分隔为% 26
+变量值中的空格% 2b
表示目录路径为2f
=用于连接键和值
查询字符串的开始



当键值包含列表上面的一些字符时,不能准确地接收值。

<
用特殊字符定义字符串
str =参数= # % + =价值
使用URLEncode编码方法
strurlencode = server.urlencode(STR)
使用HtmlEncode编码方法
strhtmlencode = server.htmlencode(STR)
显示所有querysting字符
响应。写查询
写request.querystring响应。
显示传输参数
响应。
参数是:

响应。写queryparameter =
响应。写request.querystring(乙方)



%>









> Str UrlEncode Method

> Str HtmlEncode Method






显示结果
QueryString:
参数:参数= # % + =价值
queryparameter =
STR URLEncode方法
STR HtmlEncode方法
单击连接1,结果
查询字符串str =参数:= % 23% 25% 26% 2B 5c = % % % % % 3e 2fhtml 3c 3fvalue
参数:参数= # % + =价值
queryparameter =参数= # % + =价值
STR URLEncode方法
STR HtmlEncode方法
在这一点上,我们发现没有参数可以被正确接收。当我们查看原始代码时,我们会发现它已经被准确地接收到了。原因是标准的HTML标记。它不会被浏览器显示。
单击连接2,结果
查询字符串参数:STR = =
参数:参数= # % + =价值
queryparameter =参数=
STR URLEncode方法
STR HtmlEncode方法
在这个时候你会发现没有在#后面正确接收,但被解释为锚,# 在名字后面的锚。



结论:当一个包含上面列出的特殊字符是通过获得作为一个参数,它只能进行urlencode的。如果你不想让观众看到包含HTML标签后的字符串的值,我们可以使用HtmlEncode处理。



PHP可以拉URLEncode()的功能,这是没有例子。