anchor.diff:            Result := Result + '%20';
           end
       else
  -      Result := Result + '%' + SysUtils.IntToHex(Ord(S[i]), 2);
  +      Result := Result + '%' + SysUtils.IntToHex(Ord(lvRawStr[i]), 2);
       end;
     end;
     {$ENDIF}
  
positive.code: 
  
  
  function URLEncode(S: string; pvIsPostData: Boolean = true): URLString;
  var
    i: Integer; // loops thru characters in string
    {$IFDEF UNICODE_URL}
    lvRawBytes:TBytes;
    {$ENDIF}
  begin
    {$IFDEF UNICODE_URL}
  
negative.code:   end;
    {$ELSE}
    Result := '';
    lvRawStr := s;
    for i := 1 to Length(lvRawStr) do
    begin
      case lvRawStr[i] of
        'A' .. 'Z', 'a' .. 'z', '0' .. '9', '-', '_', '.':
          Result := Result + lvRawStr[i];
        ' ':
          if pvIsPostData then
          begin     // PostǿոҪ +
  