[B/S]URL 传递中文参数

解决方法:js中传参时先对中文数据使用escape函数编码,代理中对传入数据解码

1 js中编码

var url="http://127.0.0.1/domcfg.nsf/GetUserInfo?OpenAgent&UserName=" + escape("管理员/Lotus");
var xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
xmlHttp.open("Post",url,true);   
xmlHttp.send("");

2 代理中解码

Dim ss As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument

Set db=ss.CurrentDatabase
Set doc=ss.DocumentContext

Dim strPara As String
strPara=UnEscape(doc.Query_String_Decoded(0)) 

附:UnEscape解码函数
Function UnEscape(Byval strIn As String) As String
 Dim strOut As String
 Dim strChar As String
 Dim intPos As Integer
 Dim strAsc As String
 Dim blnAsc As Integer
 Do
  intPos = intPos + 1
  strChar = Mid$(strIn, intPos, 1)
  If strChar = "" Then
   Exit Do
  Elseif strChar = "%" Then
   blnAsc = True
  Elseif blnAsc Then
   If strChar = "u" Then
    strAsc = Mid$(strIn, intPos + 1, 4)
    intPos = intPos + 4
    strOut = strOut & Uchr(Clng("&h" & strAsc))
   Else
    strAsc = Mid$(strIn, intPos, 2)
    intPos = intPos + 1
    strOut = strOut & Uchr(Clng("&h" & strAsc))
   End If
   blnAsc = False
  Else
   strOut = strOut & strChar
  End If
 Loop
 UnEscape = strOut
End Function

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值