![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
При установки новой версии Indy (на данный момент самая свежая), появились проблемы с кодировкой, то есть при получении страницы методом Get, русские и украинские буквы отображаются как знаки вопроса . . . Я использовал функцию :
function RussianToUnicode(S: string): string; var W: Word; L: Integer; PW, PR: PWord; begin PW := @S[1]; L := Length(S); SetLength(Result, L); PR := @Result[1]; while L <> 0 do begin W := PW^; case W of $C0..$DF, $E0..$FF: PR^ := W + $0350; else PR^ := W; end; Dec(L); Inc(PW); Inc(PR); end; end; И она не помогает, хотя раньше помогала ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Производите get не в строку, а в поток (Tstringstream)
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 228
|
![]()
Помоему в ИНДИ в последних версия они что-то измени с кодировкой, у при использования ихнего мультипарта при пост запросе возникли подобные проблемы, так одни с разработчиков сказал что надо вручную формировать запрс так как этот модуль они не переделывали. Сам использую 10.2.3 с немного подправленными куками.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Друзья, все решилось таким образом :
procedure TForm2.Button2Click(Sender: TObject); var ms :TMemoryStream; sl :TStringList; begin ms := TMemoryStream.Create; sl := TStringList.Create; HTTP.Get('СайтеГ', ms); ms.Seek(0, 0); sl.LoadFromStream(ms); Memo1.Text := Sl.Text; end; Но предстала еще одна проблема . . . Как получить нормальную кодировку, при пост запросе ? Последний раз редактировалось RIO; 01.10.2009 в 02:49. |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.09.2009
Сообщений: 228
|
![]()
попробуй использовать то же самое и при посте
procedure Post(AURL: string; ASource, AResponseContent: TStream) |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Спасибо всем
![]() var Response: TStringStream; P: TStringList; begin Response := TStringStream.Create(''); P := TStringList.Create; P.Add('Параметр'); HTTP.Post('СайтеГ', P, Response); Memo1.Text := Response.DataString; P.Free; Response.Free; end; |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 27.01.2007
Сообщений: 293
|
![]()
Ха! А у меня не сработало! И в чем же дело?
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
"Не верю" (с)
Вы считаете что вашего сообщения достаточно чтобы вам дали совет ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как обновить indy 9 на indy 10 | Пилигрим | Компоненты Delphi | 16 | 30.04.2010 10:11 |
Indy 9 против Indy 10 | OrdJONY | Свободное общение | 2 | 08.11.2008 20:28 |
Проблемы Indy 10 | OrdJONY | Работа с сетью в Delphi | 2 | 09.10.2007 23:21 |
проблемы с Indy | senalex | Работа с сетью в Delphi | 9 | 11.09.2007 12:25 |