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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2010, 23:24   #1
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
Злость Кодировка idHTTP.Get()

Использую D2007. Установил последнюю версию версию Indy 10.50.7.

Код:
Memo1.Text := Utf8ToAnsi( IdHTTP1.Get(...));
Код:
Memo1.Text := IdHTTP1.Get(...);
Обе строки кода возвращают вместо кириллицы ???? ????????? ???? ????? знаки вопросов.
Читал, что инди, начиная с версии 10.5 сам пытаются выполнять конвертирование между кодировками. Но толку нету.
Может кто подскажет как решить проблему?
X11 вне форума Ответить с цитированием
Старый 21.01.2010, 00:37   #2
business-net
 
Регистрация: 24.05.2009
Сообщений: 3
По умолчанию

Такая же проблема, сегодня обновил инди и получил такой сюрпрайз ...

кто-нибудь может подсказать где искать решение ?
business-net вне форума Ответить с цитированием
Старый 21.01.2010, 10:13   #3
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

business-net, ты обновлял их SVN или установил из tiburon.zip?
X11 вне форума Ответить с цитированием
Старый 21.01.2010, 12:23   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var M:TStringStream;
begin
 M:=TStringStream.Create('');
 idHTTP1.Get('http:\\programmersforum.ru',M);
 Memo1.Lines.Text:=M.DataString;
 M.Free;
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.01.2010, 12:29   #5
Usov
Форумчанин
 
Аватар для Usov
 
Регистрация: 29.09.2009
Сообщений: 228
По умолчанию

в последних версия Indy у меня тоже была проблема с передачей параметров - пришлось откатиться на свою старою версию.
Также в последних версиях обнаружены проблемы с кодировкой при использовании TidMultiPartFormDataStream.
Спорить не буду - может я просто в чем то не разобрался.
Usov вне форума Ответить с цитированием
Старый 21.01.2010, 12:40   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Usov, я обновил ИнДи на этой неделе.
по этому коду я отлично получил русский текст.
с ИнДи помоему вообще лучше контролировать кодировки(потому не люблю Д2009)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.01.2010, 13:51   #7
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

В догонку. )
Код:
 Memo1.Lines.Text := M.DataString;
Возвращает юникодный текст, т.е. уже не знаки вопросов.

Код:
 Memo1.Lines.Text := UTF8Decode(M.DataString);
и
Код:
 Memo1.Lines.Text := Utf8ToAnsi(M.DataString);
возвращает пустоту ((
X11 вне форума Ответить с цитированием
Старый 21.01.2010, 13:54   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Юникод(2 байта на символ) или UTF8?
скиньте пример своей страницы.
Цитата:
Возвращает юникодный текст, т.е. уже не знаки вопросов.
мне вернуло ANSI
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 21.01.2010, 13:57   #9
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

Цитата:
novorossiysk.irr.ru/real-estate/out-of-town/
Как правило все юникодные сайты имеют в заголовке charset=utf-8
X11 вне форума Ответить с цитированием
Старый 21.01.2010, 13:58   #10
X11
Пользователь
 
Регистрация: 20.01.2010
Сообщений: 54
По умолчанию

это разве анси?
Цитата:
title>Загородная недвижимость: продажа коттеджей в
X11 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
idHTTP и кодировка FAiver Работа с сетью в Delphi 2 09.09.2012 16:47
Кодировка Nixtone Помощь студентам 4 27.05.2008 14:12
Кодировка psp Общие вопросы Delphi 7 01.04.2008 19:18
Кодировка satana Общие вопросы Delphi 1 20.12.2007 02:53