网址中含有中文参数,利用UTF8EncodeURI函数将中文转码为UTF8,将转好后的网址Navigate,
Dim myuri As Uri = New Uri("转好后的网址“)
webbrowser.Navigate(myuri)
访问完成后通过webbrowser.Url.OriginalString查询,网址又变成转码前的中文了,不知是为什么?怎么解决?
附:
Function UTF8EncodeURI(ByVal szInput) As String
Dim wch, uch, szRet
Dim x
Dim nAsc, nAsc2, nAsc3
If szInput = "" Then
UTF8EncodeURI = szInput
Exit Function
End If
For x = 1 To Len(szInput)
wch = Mid(szInput, x, 1)
nAsc = AscW(wch)
If nAsc < 0 Then nAsc = nAsc + 65536
If (nAsc And &HFF80) = 0 Then
szRet = szRet & wch
Else
If (nAsc And &HF000) = 0 Then
uch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)
szRet = szRet & uch
Else
uch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _
Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _
Hex(nAsc And &H3F Or &H80)
szRet = szRet & uch
End If
End If
Next
UTF8EncodeURI = szRet
UTF8EncodeURI = UTF8EncodeURI.Replace("""", "%22")
End Function