在Domino的系统开发过程中,我们往往要通过url来进行传参,传递参数给表单或者代理,假如浏览器请求的url带有参数,在交给服务器前服务器会对其进行编码(不知道这样理解对不对),像一些特殊符号,空格、%、汉字都会被编码成类似%XX这样的格式,我们在表单或者代理中如果要取得原来的字符串就必须要进行解码。
Domino自带提供了一个query_string_decoded的系统域用来获得解码过的字符串,但是在使用中我们仍然发现有些字符通过这个域无法获得真正的原来编码前的字符串,所以我们可以采用自己解码的方式,办法是用query_string获得未解码的字符串,自己写一个函数来解码。下面就是一个解码函数,个人觉得效果很不错,在项目中使用没有问题。
Code
Function LSDecode(inString As String) As String inString=Replace(inString,"+"," ") Dim L As String Dim M As String Dim R As String Dim P As Integer Dim TP As Integer Dim fnDecode1 As String Dim rstr As String Dim TempStr As String If Instr(inString,"%")>0 Then TempStr=inString Do While Instr(TempStr,"%")>0 P=Instr(TempStr,"%") L=Left(TempStr,P-1) M=Mid(TempStr,P+1,5) If Cint("&H"+Left(M,1))<10 Then M=Left(M,2) If M="0A" Or M="0D" Then If M="0D" Then rstr=rstr+L+"<br>" End If Else rstr=rstr+L+Chr(Clng("&H"+M)) End If TP=(P+2) Else M=Left(M,2)+Right(M,2) rstr=rstr+L+Chr(Clng("&H"+M)) TP=(P+5) End If R=Right(TempStr,Len(TempStr)-