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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2011, 11:16   #1
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию Http.Get, Парсинг UTF8, знак - отображается как ? Как декодировать?

Всем привет,

Не как не получилось 100% перекодировать UTF8?
Вместо знака - отображаеться знак ? со знаком + все ок!

Код прилагаю ниже, подскажте уважаемые, что не так?
D2009, Indy 10.2.5, Console.

Код:
{$APPTYPE CONSOLE}

uses
  Windows,
  Classes,
  SysUtils,
  StrUtils,
  IdHTTP;

var
  i, a1, b1, a, b, a2, b2: integer;
  http: TIdHTTP;
  ms: TMemoryStream;
  s, ss, day: string;
  date, temp2, temp4, desc2, desc4, wind2, wind4: string;
  page: TStringlist;

begin
  page := TStringList.Create;
  http := TIdHTTP.Create(nil);
  ms := TMemoryStream.Create;
  try
    http.Get('http://pogoda.yandex.ru/moscow/details/', ms);
    ms.Position := 0;
    page.LoadFromStream(ms);
    page.Text := UTF8Decode(page.Text); // тут баг
    AnsiToUtf8(page.Text); // тут тоже
  except
    WriteLn(Ru('Ошибка. Возможно неверно введен город'));
  end;
  try
  finally
    ms.Free;
    http.Free;
  end;
  s := page.Text;
...

Последний раз редактировалось XerSon; 10.02.2011 в 06:20.
XerSon вне форума Ответить с цитированием
Старый 09.02.2011, 16:56   #2
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Похоже решения нет?
XerSon вне форума Ответить с цитированием
Старый 09.02.2011, 17:29   #3
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

лови, думаю сам разберешся что и как
Вложения
Тип файла: zip avCharsets.zip (1.1 Кб, 25 просмотров)
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 10.02.2011, 08:26   #4
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Цитата:
Сообщение от Mifody Посмотреть сообщение
лови, думаю сам разберешся что и как
Эффекта 0

Страничка точно в UTF8
данные отображаются так:
-6…-5
а выводятся так апосля преобразования:
?6…?5

Что может еще быть не так?
XerSon вне форума Ответить с цитированием
Старый 10.02.2011, 08:30   #5
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

адрес на страничку
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 10.02.2011, 08:34   #6
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Цитата:
Сообщение от Mifody Посмотреть сообщение
адрес на страничку
в первом посте, http://pogoda.yandex.ru/moscow/details/
XerSon вне форума Ответить с цитированием
Старый 10.02.2011, 08:37   #7
XerSon
Форумчанин
 
Аватар для XerSon
 
Регистрация: 21.01.2008
Сообщений: 211
По умолчанию

Код:
<span>13…−12</span>
знак минуса блатной − а вот простой -

и тут пришло на ум сие:
Код:
temp4 := StringReplace(temp4, '−', '-',
      [rfReplaceAll, rfIgnoreCase]);
Теперь все ок! Но это не решило баг, у меня в голове)

Последний раз редактировалось XerSon; 10.02.2011 в 08:49.
XerSon вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как убирать знак ' ? Человек_Борща Работа с сетью в Delphi 3 31.01.2011 13:56
Парсинг HTTP заголовка nikolas0 Работа с сетью в Delphi 5 05.01.2011 15:24
IdPOP3 как декодировать base64 в теле письма jskorvin Работа с сетью в Delphi 2 10.11.2010 17:32
Http Proxy - как написать к браузеру http-прокси? SergeiGuk Общие вопросы .NET 0 21.05.2010 17:37
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется maksim1983 JavaScript, Ajax 4 23.02.2009 07:55