some character are not allowed. make use of this routine to solve your url problem

function URLEncode(const ASrc: string): string;

var

i: Integer;

begin

Result := '';

for i := 1 to Length(ASrc) do

begin

if ASrc[i] = ' ' then

begin

Result := Result + '+';

end else if NOT (ASrc[i] in ['A'..'Z', 'a'..'z', '0'..'9']) then

begin

Result := Result + '%' + IntToHex(Ord(ASrc[i]), 2);

end else

begin

Result := Result + ASrc[i];

end;

end;

end;

function URLEncode(const ASrc: string): string;

var

i: Integer;

begin

Result := '';

for i := 1 to Length(ASrc) do

begin

if ASrc[i] = ' ' then

begin

Result := Result + '+';

end else if NOT (ASrc[i] in ['A'..'Z', 'a'..'z', '0'..'9']) then

begin

Result := Result + '%' + IntToHex(Ord(ASrc[i]), 2);

end else

begin

Result := Result + ASrc[i];

end;

end;

end;