ASP server.urlencode 问题

来源:百度知道 编辑:UC知道 时间:2024/05/06 09:08:42
http://www.hao123.com?key=中国
http://www.hao123.com?key=美国
http://www.hao123.com?key=英国
…………
以上是表单的内容 表单名为content
<%
a=request("content")
b=server.urlencode(a)
这样b的结果就把所有的中文字符和特殊符号全给编码了。

如:http%3A%2F%2Fwww%2Ehao123%2Ecom%3Fkey%3D%D6%D0%B9%FA

我的问题就是有什么办法才能保留特殊符号,只把中文字符编码。
就像这样:http://www.hao123.com?key=%3D%D6%D0%B9%FA

有个前提就是上一页表单发送过来的数据包含N多条网址。
有没办法对a字符串进行汉字查找,然后对汉字进行编码。保留特殊字符? 不知道大家明白没有? 非常感谢!

^_^特别为你编写的URL地址中文字符处理问题,直接对地址进行处理即可,不需要单独提取字符,如需要变更细节请留下EMAIL地址发消息给我.
'应该是你需要的

Function Lq_Code_UrlCn(Lq_Code_UrlCn_Str)
'格式化为字符串
Lq_Code_Urlcn_Str=Cstr(Lq_Code_Urlcn_Str)
'获取字符长度
Lq_Code_Urlcn_Len=Len(Lq_Code_Urlcn_Str)
'初始化一个返回字符串
Lq_Code_Urlcn_String=""
If Lq_Code_Urlcn_Len<>0 Then
For Lq_Code_Urlcn_I=1 to Lq_Code_Urlcn_Len
'按位获取字符
Lq_Code_Urlcn_Stmp=Mid(Lq_Code_Urlcn_Str,Lq_Code_Urlcn_I,1)
'获取ASC码检查是否为中文或特殊符号
Lq_Code_Urlcn_Asc=Asc(Lq_Code_Urlcn_Stmp)
If Lq_Code_Urlcn_Asc<0 or Lq_Code_Urlcn_Asc>255 Then
'是中文则进行编码
Lq_Code_Urlcn_String=Lq_Code_Urlcn_String&Server.UrlEncode(Lq_Code_Urlcn_Stmp)
Else
'其他字符直接使用
Lq_Code_Urlcn_String=Lq_Code_Urlcn_String&Lq_Code_Urlcn_Stmp
End If
Next
End IF
'此处可增加HtmlEncode处理,编码其中的空格和'字符,不需要请注释掉下面这行
Lq_Code_UrlCn_String=Server.HtmlEncode(Lq_Code_UrlCn_String)