问一个URL参数的问题,急!!!!! ( 积分: 100 )

  • 主题发起人 主题发起人 潇洒哥
  • 开始时间 开始时间

潇洒哥

Unregistered / Unconfirmed
GUEST, unregistred user!
DELPHI中,如何将一个中文字符串作为一个URL参数的值传递?如   aspx?name= '华南虎 '  ,如果这样传递的话,会是乱码的。。。也就是,我要转换成这个形式:name=%u534E%u5357%u864E
 
有一个函数可以转换
 
什么函数?大哥,可以告诉我吗?
 
function&nbsp;URLEncode(InStr:&nbsp;string):&nbsp;string;<br>var<br>&nbsp;&nbsp;intSourceLen:&nbsp;integer;<br>&nbsp;&nbsp;intForLoop:&nbsp;integer;<br>&nbsp;&nbsp;strTemp:&nbsp;string;<br>&nbsp;&nbsp;strSource:&nbsp;string;<br>&nbsp;&nbsp;strDestCode:&nbsp;string;<br>&nbsp;&nbsp;charTemp:&nbsp;char;<br>begin<br>&nbsp;&nbsp;strSource&nbsp;:=&nbsp;UTF8Encode(InStr);<br>&nbsp;&nbsp;strDestCode&nbsp;:=&nbsp;'';<br>&nbsp;&nbsp;intSourceLen&nbsp;:=&nbsp;length(strSource);<br>&nbsp;&nbsp;for&nbsp;intForLoop&nbsp;:=&nbsp;1&nbsp;to&nbsp;intSourceLen&nbsp;do<br>&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;charTemp&nbsp;:=&nbsp;strSource[intForLoop];<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;charTemp&nbsp;=&nbsp;'&nbsp;'&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strDestCode&nbsp;:=&nbsp;strDestCode&nbsp;+&nbsp;'+';<br>&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;else&nbsp;if&nbsp;charTemp&nbsp;=&nbsp;#13&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strDestCode&nbsp;:=&nbsp;strDestCode&nbsp;+&nbsp;'%0D%0A';<br>&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;else&nbsp;if&nbsp;(charTemp&nbsp;&lt;&nbsp;'0')&nbsp;or&nbsp;((charTemp&nbsp;&lt;&nbsp;'A')&nbsp;and&nbsp;(charTemp&nbsp;&gt;&nbsp;'9'))&nbsp;or<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((charTemp&nbsp;&gt;&nbsp;'Z')&nbsp;and&nbsp;(charTemp&nbsp;&lt;&nbsp;'a'))&nbsp;or&nbsp;(charTemp&nbsp;&gt;&nbsp;'z')&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strTemp&nbsp;:=&nbsp;inttohex(ord(charTemp),&nbsp;2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strDestCode&nbsp;:=&nbsp;strDestCode&nbsp;+&nbsp;'%'&nbsp;+&nbsp;strTemp;<br>&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strDestCode&nbsp;:=&nbsp;strDestCode&nbsp;+&nbsp;charTemp;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;end;<br>&nbsp;&nbsp;Result&nbsp;:=&nbsp;strDestCode;<br>end;
 
谢谢&nbsp;&nbsp;大哥。马上给分。好多年没有来这个论坛了,感觉人气少了好多。但是这里的哥们还是这么的热情。我爱你们!!!
 
后退
顶部