nagon.net - бесплатная поставка трафика на ваши сайты
Логин:
Пароль:
Регистрация





Убрать рекламу с сайта чтобы не мешала!

Русская кодировка в IdHTTP при отправке POST запроса в IdHTTP кракозябры в Delphi 2009 Indy 10

При отправке текста через Post в Делфи на сервер приходят знаки вопроса и кракозябры.
Чтобы не парить мозги предлагаю готовое решение:
Перво на перво нужно установить тип переменной не string как это мы привыкли делать, а выбрать тип указанный ниже в зависимости от нужной кодировки:


UTF8String;
UnicodeString;
AnsiString;
CyrillicString;


Более подробную статью можно глянуть тут:
http://edn.embarcadero.com/article/38582

Теперь можно рассматривать пример


var
data: TStringStream;
post_title, post_text:AnsiString;


IdHTTP1.Request.ContentType:='application/x-www-form-urlencoded';

data:=TStringStream.Create;
data.WriteString('title='+post_title+'&text='+post_text);

try
IdHTTP1.Post('http://jfhkhfdgj.ru/script.php',data);
except
end;

data.Free;



в некоторых случаях так же можно применять

post_text:=Utf8ToAnsi(post_text);

и подобные функции этой, но тогда тип переменной должен быть просто string

Вас зовут:

Ваш комментарий:


Код на картинке: