Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2012, 02:19   #1
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию UTF-8 и Indy

Здравствуйте, столкнулся с некоторой проблемой.
Пытаюсь войти на сайт через Post запрос и получить ответ:
Код:
var zapros:tstringlist;
source:string;
begin
idhttp1.Get('http://example.com/login.php);
zapros:=tstringlist.Create;
zapros.Add('lemail=123@gmail.com');
zapros.Add('lpassword=123123');
source:=idhttp1.Post('http://example.com/account.php',zapros);
memo1.Lines.Add(source);
В результате чего Indy авторизируется на сайте, но вместо русских букв кракозябры, например: Для отмены и возврата назад нажите ESC . Кодировка сайта UTF-8, сам я юзаю Delphi XE2. В сниффере заметил странность, что при заходе с браузера
Код:
Content-Type text/html; charset=utf-8;
а из программы
Код:
Content-Type text/html
Возможно, в этом и кроется вся проблема.
Заранее спасибо.

Последний раз редактировалось Pter; 26.06.2012 в 02:23.
Pter вне форума Ответить с цитированием
Старый 26.06.2012, 02:46   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну так установите это поле запроса в инди.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.06.2012, 03:25   #3
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну так установите это поле запроса в инди.
К сожалению, это ответ сервера, а не параметр запроса.
Pter вне форума Ответить с цитированием
Старый 26.06.2012, 03:31   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну вообще вам вернули страницу в кодировке utf8, не вижу чтоб вы декодировали его.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.06.2012, 15:38   #5
Pter
 
Регистрация: 26.06.2012
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну вообще вам вернули страницу в кодировке utf8, не вижу чтоб вы декодировали его.
Если использовать utf8decode, то русские символы принимают вид "???�N? ??N????�??N? ?? ?????�??N??�N??� ???�?�?�?? ???�?�??N??� ESC".
Так что, к сожалению, это не решение проблемы.

Проблема решена. Использовал такой код - http://programmersforum.ru/showpost....27&postcount=9 , а также после этого использовал utf8decode

Последний раз редактировалось Pter; 26.06.2012 в 16:50.
Pter вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
У меня borland developer studio delphi 2006 так вот как вставить на вкладку tool palette компоненты Indy Clients и Indy Misc Artem_host Общие вопросы Delphi 0 01.02.2012 09:55
Indy. Залить на файлообменник с названием файла в utf-8 droltromed Компоненты Delphi 1 22.01.2012 19:42
Преобразовние Utf-16 <=> Utf-8 hard-t Общие вопросы C/C++ 1 26.08.2011 13:54
Ansi в UTF-8 и наоборот UTF-8 в Ansi Alar Работа с сетью в Delphi 3 09.12.2010 17:02
как обновить indy 9 на indy 10 Пилигрим Компоненты Delphi 16 30.04.2010 10:11