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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.05.2010, 17:32   #1
Could
Пользователь
 
Аватар для Could
 
Регистрация: 07.05.2010
Сообщений: 18
Восклицание IdHTTP.POST Проблема с кодировкой

Есть, код который отправляет на сервер POST-запросы, для интерпретацией PHP и записи в MySQL. С английскими словами код работает безукоризненно, а вместо русских букв знаки вопроса!
Код:
procedure TMainform..........(Sender: TObject);
var
zap:TStringList;
begin
..........
zap:=TStringList.Create;
zap.Add('nick='+username);
zap.Add('postt='+Forumtext.Text);
IdHTTP.Post('http://......./api/inform-api.php?action=post', zap);
.....
Гуглил, данную проблему, подсказали следующее решение:
Код:
procedure TMainform.........(Sender: TObject);
var
zap:TStringList;
ss:TStringStream;
begin
.........
ss:=TStringStream.Create;
zap:=TStringList.Create;
zap.Add('nick='+username);
zap.Add('postt='+Forumtext.Text);
IdHTTP.Post('http://........../api/inform-api.php?action=post', zap, ss);
.......
Но из-за этого код не хочет компилироваться, выдает ошибку:
Цитата:
[DCC Error] ........pas(183): E2010 Incompatible types: 'string' and 'procedure, untyped pointer or untyped parameter'
Для справки, строка 183 содержит
Код:
IdHTTP.Post('http://........../api/inform-api.php?action=post', zap, ss);
Пожалуйста помогите решить проблему, заранее спасибо!
Вы начинаете читать фразу, которую Вы заканчиваете читать.

Последний раз редактировалось Could; 11.05.2010 в 17:34.
Could вне форума Ответить с цитированием
Старый 11.05.2010, 17:52   #2
Could
Пользователь
 
Аватар для Could
 
Регистрация: 07.05.2010
Сообщений: 18
По умолчанию

P.S. CodeGear 2009
Вы начинаете читать фразу, которую Вы заканчиваете читать.
Could вне форума Ответить с цитированием
Старый 11.05.2010, 19:21   #3
Could
Пользователь
 
Аватар для Could
 
Регистрация: 07.05.2010
Сообщений: 18
По умолчанию

Попробовал ещё пару способов, не помогло.. Люди, выручайте, сроки жмут.
Вы начинаете читать фразу, которую Вы заканчиваете читать.
Could вне форума Ответить с цитированием
Старый 13.05.2010, 16:16   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

при отправке или при приеме?

если при отправке то попробуйте HTTPOptions.hoForceEncodeParams поставить в false
если не поможет то попробуйте на форуме найти функу URLEncode
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.05.2010, 19:27   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Знакомая проблема.
Причина: в стандартном CodeGear 2009 компоненты Indy (в их числе IdHTTP) имеют ряд недоработок и неисправимые ошибки в кодировках.
Решение:
1) обновить Indy (см. google);
2) либо перейти на delphi 7 - там проблем нет.
Лично Я советую второй вариант, т.к. проблемы с кодировками в Delphi до сих пор не решены. Если же вы пишите сложную систему, где придется работать с куками и многочисленными запросами, то посоветую Вам вообще отказаться от использования IdHTTP, а перейти на webbrowser (а лучше сразу на EmbeddedWB)
Виталий Желтяков вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с кодировкой idhttp пауэрлифтинг Работа с сетью в Delphi 0 15.04.2010 01:54
idhttp проблемы с кодировкой пауэрлифтинг Работа с сетью в Delphi 3 10.03.2010 17:35
IdHTTP Редирект! Методом GET, а не POST AquaKlaster Работа с сетью в Delphi 3 12.12.2009 20:37
Проблемы с кодировкой при выполнении post запроса FANATID Работа с сетью в Delphi 7 01.03.2009 14:46
idHTTP GET и POST запросы FAiver Работа с сетью в Delphi 64 15.05.2008 13:22