![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Post/get неверная кодировка
Encore © (2009-10-27 13:49:00)
varавторизация проходит на 5+, получаю нужную мне страницу, перемещаю ее код в мемо, а там каракули вместо русских сиволов..
params,responseres:tstringlist;
s:string;
begin
params:=TStringList.Create;
responseres:=TStringList.Create;
try
params.Add('Login=мойлогин');
params.Add('Domain=мойдомен');
params.Add('Password=мойпас');
responseres.Text:=idhttp1.Post(' http://win.mail.ru/cgi-bin/auth',params);
finally
params.free;
responseres.free;
s:=idhttp1.get(' http://my.mail.ru/мойдомен/мойпас');
memo1.Lines.Add(s);
подскажите где поправить кодировку, ах и еще на 7 дельф была проблема с куками но аналогичный код возвращал нормальную кодировку, это началось прослеживаться только в 2009той
Anatoly Podgoretsky (2010-08-18 10:59:00) [1]> Дмитрий Белькевич (17.08.2010 12:22:17) [17]
Ты не мог бы предложить, что ни будь менее болезненое.
Дмитрий Белькевич (2010-08-17 12:22:00) [2]Не так давно правил IdCustomHTTPServer.pas. Тоже были проблемы с кодировкой.
Долго искал концы, вылечилось так:
procedure TIdHTTPRequestInfo.DecodeAndSetParams(const AValue: String);
var
i, j : Integer;
s: string;
begin
// Convert special characters
// ampersand '&' separates values {Do not Localize}
// TODO: need to decode UTF-8 octets...
Params.BeginUpdate;
try
Params.Clear;
i := 1;
while i
Сергей (2010-08-16 15:18:00) [3]Удалено модератором
Примечание: Создай свою тему
Encore (2009-10-28 02:04:00) [4]Медвежонок Пятачок- я думаю вас стоит задуматься о своих ответах. собственно нужны ли они вообще?
Anatoly Podgoretsky вам я очень очень благодарен.!!!спасибо большое, ябуду пробывать, если что нибудь получится отпишусь в теме
Медвежонок Пятачок (2009-10-27 18:31:00) [5]В веб браузере?
Вроде по-русски написали. В программе. В своей.
Anatoly Podgoretsky (2009-10-27 15:44:00) [6]Не так давно эту тему обсуждали, не помню нашли ли обходную дорогу
Anatoly Podgoretsky (2009-10-27 15:43:00) [7]
> я совсем запутался:(
Сейчас распутаем.
В далекие, далекие времена - Борланд, известный халявшик, вместо написания своих Интернет компонент, в очередной раз решил их сменить на очередную халяву, в качестве халявы достался Инди, остальные отказали Борланду, но Инди был написан криворуко, не переносимо и вот настал очередной северный пушистый лисиц - Борланд наконец перешел на Юникод (2009) и вместо того чтобы адаптировать Инди, оставил все как есть, а у тех функции тоже были объявлены STRING!!! и вот и приплыли, не все конечно, англоязычные не пострадали, в отличии от кирилицы.
Anatoly Podgoretsky (2009-10-27 15:31:00) [8]Значит не судьба, Инди он попорченый в 2009, точнее он попорченый по жизни и много раньше. Смени компонент на что ни будь другое.
Encore (2009-10-27 15:30:00) [9]я совсем запутался:(
Encore (2009-10-27 15:28:00) [10]это отрывок кода...используется. нет не получилось:( страницы всегда в вин-1251
Anatoly Podgoretsky (2009-10-27 15:20:00) [11]Трудно сказать, поскольку idhttp1.get уже объявлен как String, а должен быть RawByteString, можно попробовать привести к RawByteString, может получится, ну и конечно не ясно, что дальше делать, ведь для мемо нужен Юникод, а решить какая кодировка у страницы не всегда возможно. В общем сначала попробуй
s: AnsiString{(N)};
s := RawByteString(idhttp1.get(' http://my.mail.ru/мойдомен/мойпас'));
И зачем в программе responseres, если оно не используется.
Encore (2009-10-27 15:16:00) [12]http://edn.embarcadero.com/ru/article/38582помогла статья. разобрался:)
Encore (2009-10-27 15:09:00) [13]я просто отрывками код выписывал, не туда строчечку в форуме запихнул) но это не то поле:) подскажите как решить тот вопрос что В 2009 string = UnicodeString
Anatoly Podgoretsky (2009-10-27 14:37:00) [14]В 2009 string = UnicodeString
Сергей М. (2009-10-27 14:22:00) [15]Это что за выкрутасы ?
try
..
Post // <-- метод возбудил исключение по причине, например, нештатного разрыва соединения с сервером
..
finally
..
Get // <-- а нам по барабану разрыв соединения ! Все равно лезем на сервер
..
end
Encore (2009-10-27 14:10:00) [16]оговорился Get'ом получает кривые символы)
Encore (2009-10-27 14:09:00) [17]В веб браузере? каким образом? дописать мета тэг в шапке? он у меня постом уже кривые символы получает
Медвежонок Пятачок (2009-10-27 14:02:00) [18]подскажите где поправить кодировку
в программе разумеется, где же еще.
после получения контента.