Foxtable(狐表)用户栏目专家坐堂 → 请教网页提交乱码的问题.


  共有5679人关注过本帖树形打印复制链接

主题:请教网页提交乱码的问题.

帅哥哟,离线,有人找我吗?
ysq128
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
请教网页提交乱码的问题.  发帖心情 Post By:2013/5/14 22:31:00 [只看该作者]

如果直接在IE地址栏输入:
http://192.168.1.23:8080/?numbers=10086&text=百度
则收到的是乱码
但在google浏览器输入上面的地址收到的正常
不可以修改接收端的程序.所以只能在提交上想办法解决
Dim url As String
Dim http As Object
url = http://192.168.1.23:8080/?numbers=10086&text=百度
http = CreateObject("MSXML2.XMLHTTP")
http.Open("get", url, False)
http.send()
MessageBox.Show("返回信息:" & http.responseText)


应该怎么做调整?

 

抓包分别得到的数据是这样的:

谷歌浏览器

GET /?numbers=10086&text=%E6%88%91%E6%98%AF%E4%BD%99%E4%B8%96%E5%85%A8 HTTP/1.1
Host: 192.168.1.23:8080
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3

 

 

 

IE浏览器

GET /?numbers=10086&text=.... HTTP/1.1
Accept: */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/6.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729)
Host: 192.168.1.23:8080
Connection: Keep-Alive

[此贴子已经被作者于2013-5-14 22:35:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
baicaocao
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:497 积分:4892 威望:0 精华:0 注册:2012/4/20 8:42:00
  发帖心情 Post By:2013/5/14 22:34:00 [只看该作者]

编码修改成uft8


 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
  发帖心情 Post By:2013/5/14 22:40:00 [只看该作者]

就是不知道怎么转换UTF8

 回到顶部
帅哥哟,离线,有人找我吗?
ysq128
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:251 积分:2594 威望:0 精华:0 注册:2011/4/27 11:37:00
  发帖心情 Post By:2013/5/14 22:50:00 [只看该作者]

查到了要自定义函数:

Dim szInput As String =Args(0)
Dim wch, uch, szRet
Dim x
Dim nAsc, nAsc2, nAsc3
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
Return  szRet


 回到顶部
帅哥哟,离线,有人找我吗?
fjlclxj
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:321 积分:2468 威望:0 精华:2 注册:2013/1/16 19:33:00
  发帖心情 Post By:2013/5/14 22:57:00 [只看该作者]

Http.setRequestHeader("context-type","text/xml;charset=GB2312");
GB2312 还是 utf8 自己测试

 回到顶部