delphi中URL的漢字編碼


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM