show.asp?sort=全部&sortlevel=1&gorq=供&n=5&sitename=全部&img=yes&imgfile=/images/dot_g.gif

诸如这样的形式,在百度查询会转成GB2312的编码,每个汉字对应2个%xx%xx ,但是在google,每个汉字则对应的三个%xx%xx%xx,采用的是unicode编码

在delphi2010中,因为引入unicode的缘故,默认的成了3个%xx,导致我的程序出现问题,找了半天,每一个函数能够实现全URL的自动检测编码,所以自己写了一个,共享给大家:

uses

httpapp;

function urlencode(Aurl: string): string;
var
  i: integer;
  stmp,Tstmp: string;
begin
  result:=Aurl;
  if length(Aurl) > 0 then
  begin
    for i := 1 to length(Aurl) do
    begin
      if Integer(Ord(Aurl[i])) >255 then
        begin
        stmp := copy(Aurl, i, 1);
        Tstmp:=HttpEncode(stmp);
        result:=stringreplace(result,stmp,Tstmp,[]);
        end;
    end;
  end;
end;

使用:

URL :=urlencode(URL);

则URL中的汉字自动转为gb2312的%xx的编码。

参考:

http://ifso.iteye.com/blog/1513438

delphi中URL的汉字编码的更多相关文章

  1. Delphi中处理URL编码解码

    Delphi中处理URL编码解码 一.URL简单介绍     URL是网页的地址,比方 http://www.shanhaiMy.com. Web 浏览器通过 URL 从 web server请求页面 ...

  2. 谈Delphi中SSL协议的应用(好多相关文章)

    摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...

  3. 老陈---谈Delphi中SSL协议的应用[转]

    摘要:本文主要介绍如何在Delphi中使用SSL协议.一共分为七个部分:(1)SSL协议是什么?(2)Delphi中如何使用SSL协议?(3)SSL客户端编程实例.(4)SSL服务端编程实例.(5)S ...

  4. [转]Delphi中ShellExecute的妙用

    Delphi中ShellExecute的妙用       ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件.打开一个目录.打印一个文件等等),并对外部程序有一定的控制.   ...

  5. Delphi中,indy控件实现收发邮件的几点学习记录( 可以考虑加入多线程,用多个邮箱做一个邮箱群发器) 转

    关于用Delphi中的Indy控件实现收发邮件的几点学习记录             这几天心里颇不宁静,不是因为项目延期,而是因为自己几个月前做的邮件发送程序至今无任何进展,虽然一向谦虚的人在网上发 ...

  6. delphi中如何实现文件的复制?

    http://zhidao.baidu.com/link?url=nyAzCpeXAbaT8M3qqAePCF1Zr7q-oK4hpAUNIaRYpHcbmIwYsLr1TXoTt8759HtR1EB ...

  7. delphi中的idhttpserver如何才能收到idhttp发送来的exe\rar文件呢

    http://zhidao.baidu.com/link?url=-q2oXqYCKBZ9OgFDEHAcQwQEY_NroHcqGvVfKW67X5sF9LdjAAB_HPXQo04VxStFVS7 ...

  8. Delphi中stringlist分割字符串的用法

    Delphi中stringlist分割字符串的用法 TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的. 常规的用法大家都知道,现在来讨论它的一些高级的用法. 1.CommaT ...

  9. delphi中exit,abort,break,continue 的区别

    from:http://www.cnblogs.com/taofengli288/archive/2011/09/05/2167553.html delphi中表示跳出的有break,continue ...

随机推荐

  1. 笔试算法题(41):线索二叉树(Threaded Binary Tree)

    议题:线索二叉树(Threaded Binary Tree) 分析: 为除第一个节点外的每个节点添加一个指向其前驱节点的指针,为除最后一个节点外的每个节点添加一个指向其后续节点的指针,通过这些额外的指 ...

  2. Windows下Eclipse+PyDev安装Python开发环境

    .简介 Eclipse是一款基于Java的可扩展开发平台.其官方下载中包括J2EE方向版本.Java方向版本.C/C++方向版本.移动应用方向版本等诸多版本.除此之外,Eclipse还可以通过安装插件 ...

  3. xphrof性能分析线上部署实践

    说明 将xhprof部署在线上环境,在特定情况下进行性能分析,方便快捷的排查线上性能问题. 通过参数指定及添加代码行触发进入性能分析,并将结果保存入MongoDB. 因为xhprof对性能的影响,只部 ...

  4. C++ string 转整数

    使用 sstream 完成转换, #include <iostream> #include <string> #include <sstream> #include ...

  5. Spring框架中 配置c3p0连接池

    开发准备: 1.导入jar包: ioc基本jar jdbcTemplate基本jar c3p0基本jar 别忘了mysql数据库驱动jar 原始程序代码:不使用配置文件方式(IOC)生成访问数据库对象 ...

  6. 编程数学(A-1)-(B-1)-一个数的负次方怎么算

    一个数的负几次方就是这个数的几次方的倒数.当这个数是正整数时,也就是说一个数的负n次方就是这个数的n次方分之一.例如: 2的-2次方=2的2次方分之1=4分之13的-2次方=3的2次方分之1=9分之1 ...

  7. oracle 互锁的sql查询

    SELECT DECODE(request, 0, 'Holder: ', 'Waiter: ') || sid sess,       id1,       id2,       lmode,    ...

  8. 【转】Java中的IO操作

    在使用io操作之前,先看一下java中的文件类File如何使用.File包括文件和目录,对文件和目录的操作是新建目录mkdir,新建文件createNewFile,删除文件和目录delete,以及其他 ...

  9. C++字符串读入

    int read() { ,f=;char ch=getchar(); ;ch=getchar();} +ch-';ch=getchar();} return x*f; } int main() { ...

  10. 【BZOJ1758】重建计划(点分治)

    题意: 给定一棵n个点的树,每条边有权值.求一条链,这条链包含的边数在L和U之间,且平均边权最大.N﹤=100000 思路:RYZ作业 二分答案再点分治,寻找是否有大于0且边数在L和U之间的链 f[i ...