Показать сообщение отдельно
  #1  
Старый 25.11.2010, 14:57
MrDiG MrDiG вне форума
Начинающий
 
Регистрация: 05.10.2010
Сообщения: 112
Репутация: 1227
По умолчанию IdHTTP.POST и кодировка

Проблема стандартная. При отправке POST запроса на страницу в win-1251 он приходит в "кракозябрах". Для слова "Киррилица", допустим "Киррилица".
UTF8ToANSI что-то не помогает.

Да и GET запрос на ту же страницу выдаёт кракозябры, приходиться юзать функцию:
Код:
function frmMain.RussianToUnicode(S: String): String;
var Wrd:Word;
  pW,pR:PWord;
  len:Integer;
begin
  pW:=@S[1];
  len:=Length(S);
  SetLength(Result,len);
  pR:=@Result[1];
  while Len<>0 do begin
    Wrd:=pW^;
    case Wrd of
      $C0..$DF,$E0..$FF:pR^:=Wrd+$0350;
      else pR^:=Wrd;
    end;
    inc(pW);
    inc(pR);
    dec(Len);
  end;
end;
Но, например, дефисы она не спасает...

D2010, Indy 10.5.5
Ответить с цитированием