找回密码
 加入
搜索
查看: 1601|回复: 3

请教一下关于POST提交中含有中文的问题

  [复制链接]
发表于 2009-6-27 09:20:03 | 显示全部楼层 |阅读模式
本帖最后由 jieelin 于 2009-6-27 09:25 编辑

$oHTTP.Send("formhash=8e4e541c&subject=&message=我的浏览器好像出问题了,,老是发乱码!汗!")

用上面的程序提交上去的是乱码,用HTTPWATCH获取提交的数据是这样子的:

formhash=8e4e541c&subject=&message=%CD%DB%2C%B4%F3%BC%D2%B6%BC%D5%E2%C3%B4%D4%E7%B0%A1%2C%CE%D2%BB%B9%D2%D4%CE%AA%CE%D2%C4%DC%D5%BC%C9%CF%C9%B3%B7%A2%C4%D8%7E+%BA%C7%BA%C7.+%3Ayct028%3A+%3Ayct028%3A+

这两个之前应该是编码不一样.. 请教一下高手这里我该如何把我要提交的中文转换成下面这样子? 谢谢指教.
 楼主| 发表于 2009-6-27 09:24:38 | 显示全部楼层
1# jieelin


刚在BAIDU上搜了一下,竟然找到了解决方法. 呵呵. 用这个函数转换一下就可以了.

Func _UnicodeURLEncode($UnicodeURL)        ;==>_UnicodeURLEncode
    Local $UnicodeBinaryLength,$UnicodeBinary,$UnicodeBinary2
        $UnicodeBinary = StringToBinary ($UnicodeURL,4)
    $UnicodeBinary2 = StringReplace($UnicodeBinary, '0x', '', 1)
    $UnicodeBinaryLength = StringLen($UnicodeBinary2)
    Local $EncodedString,$UnicodeBinaryChar,$EncodedString
    For $i = 1 To $UnicodeBinaryLength Step 2
        $UnicodeBinaryChar = StringMid($UnicodeBinary2, $i, 2)
        If StringInStr("$-_.+!*'(),;/?:@=&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890", BinaryToString ('0x' & $UnicodeBinaryChar,4)) Then
            $EncodedString &= BinaryToString ('0x' & $UnicodeBinaryChar)
        Else
            $EncodedString &= '%' & $UnicodeBinaryChar
        EndIf
    Next
    Return $EncodedString
EndFunc
发表于 2011-4-30 17:13:11 | 显示全部楼层
~~~~
发表于 2011-10-14 00:05:17 | 显示全部楼层
正需要 谢谢
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-6 09:45 , Processed in 0.074019 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表