找回密码
 加入
搜索
查看: 4136|回复: 8

URL中,对中文进行编码。

[复制链接]
发表于 2008-7-18 12:34:17 | 显示全部楼层 |阅读模式
http://www.google.cn/search?q=%D6%D0%CE%C4

在类似的URL中,“中国”被编码成了“%D6%D0%CE%C4”,

请问如何对任意中文进行如上编码?

已解决问题里有一个:http://www.autoitx.com/forum.php ... 9&highlight=url
不过编码结果不一样。

[ 本帖最后由 runningwater 于 2008-7-28 08:44 编辑 ]
 楼主| 发表于 2008-7-20 12:32:31 | 显示全部楼层
沉了,估计各位高手没看到,顶一下!
请给位帮忙!
发表于 2008-7-20 18:13:58 | 显示全部楼层
原帖由 runningwater 于 2008-7-18 12:34 发表
http://www.google.cn/search?q=%D6%D0%CE%C4

在类似的URL中,“中国”被编码成了“%D6%D0%CE%C4”,

请问如何对任意中文进行如上编码?

已解决问题里有一个:http://www.autoitx.com/forum.php?mod=viewthread&tid ...

“%D6%D0%CE%C4”这不是"中国"编码,而是"中文"的编码 试试下面的脚本
MsgBox(0,0,UrlEncode("中国"))
Func UrlEncode($Url)
Local $UrlLen
$UrlLen = StringLen($Url)
Local $EnStr,$UrlChar,$EnStr
For $i = 1 To $UrlLen Step 1
        $UrlChar = StringMid($Url, $i, 1)
                if ascw($UrlChar) > 256 Then
                        $str =StringReplace(StringToBinary($UrlChar&" ",1),"0x","")
                        $EnStr &= "%"&StringLeft($str,2) & "%"&StringRight($str,2)
                Else
                        $str =StringReplace(StringToBinary($UrlChar),"0x","")
                        $EnStr &= "%"&$str
                EndIf
Next
Return "0x"&$EnStr
EndFunc


[ 本帖最后由 auto 于 2008-7-21 19:43 编辑 ]
发表于 2008-7-21 11:23:12 | 显示全部楼层
楼主提到的已解决问题那个里面,解答的版主是给出的Unicode的编码,
一般都是用的Ansi编码
但是autoit 的ansi编码不知道为什么,对中文支持不好.
你看这里嘛
http://www.autoitx.com/forum.php ... 9&highlight=url 四楼~
 楼主| 发表于 2008-7-24 08:25:41 | 显示全部楼层
原帖由 auto 于 2008-7-20 18:13 发表

“%D6%D0%CE%C4”这不是"中国"编码,而是"中文"的编码 试试下面的脚本
[au3]MsgBox(0,0,UrlEncode("中国"))
Func UrlEncode($Url)
Local $UrlLen
$UrlLen = StringLen($Url)
Local $EnStr,$UrlChar,$EnStr
Fo ...


编码好还是不正确,请问需不需要设置编译参数?
发表于 2008-7-27 11:28:22 | 显示全部楼层
我换了新版测试,没有错误啊,只是在编码前面加"0x"
楼主提供的http://www.google.cn/search?q=%D6%D0%CE%C4 是中文
http://www.google.cn/search?q=%D6%D0%B9%FA
直接在scite调试没有什么问题
没有编译数数设置,试试不要选ansi选unicode编码
 楼主| 发表于 2008-7-28 08:44:19 | 显示全部楼层
原帖由 auto 于 2008-7-27 11:28 发表
我换了新版测试,没有错误啊,只是在编码前面加"0x"
楼主提供的http://www.google.cn/search?q=%D6%D0%CE%C4 是中文
http://www.google.cn/search?q=%D6%D0%B9%FA
直接在scite调试没有什么问题
没有编译数数设置 ...


有是了一下,确实好用!谢谢了!
发表于 2009-3-30 16:37:09 | 显示全部楼层
顶Auto 太感谢LZ和Auto了,查了一下午,终于在这儿找到!
发表于 2012-5-24 14:59:53 | 显示全部楼层
谢谢分享 支持了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-25 21:57 , Processed in 0.074049 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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