• Объявления

    • Garik66

      Пользователям форума   05.11.2017

      Прошу обратить внимание на эту тему (чтобы увидеть ссылку, войдите в объявление - нажмите на заголовок):   
Denis97832

Delphi - Получение содержимого сайта в Memo, избавиться от кракозябров

6 сообщений в этой теме

Всем привет)
Хочу создать новости в memo, но у меня показывает какие-то каракули. Как исправить чтоб нормальный текст показыввало?
У меня вот такой код 

Memo1.text:=utf8String(IdHTTP1.get('http://site.ru/new.txt'));

 

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А у тебя сам проект юникодовый? Если нет, то зачем ты преобразование в юникод делаешь?

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При загрузке кода сайта у него Кириллица не отображается.
Как правильно: 

Memo1.text:=UTF8Decode(IdHTTP1.get('http://site.ru/new.txt'));
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах


var
  mStream: TStringStream;
  URL : string;
begin
 mStream := TStringStream.Create;
 URL := Edit1.Text;
 idHttp1 := TIdHTTP.Create(nil);
 idHttp1.Get(URL, mStream);
 Memo1.Clear;
 Memo1.Text := mStream.DataString; // вариант1, кодировка charset=windows-1251
  //или
 Memo1.Text := UTF8Decode (mStream.DataString); // вариант2, кодировка charset=UTF-8
end;

1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавил этот код и все норм

function RussianToUnicode(S: String): String;var Wrd:Word;pW,pR:PWord;len:Integer;beginpW:=@S[1];len:=Length(S);SetLength(Result,len);pR:=@Result[1];while Len<>0 do beginWrd:=pW^;case Wrd of$C0..$DF,$E0..$FF:pR^:=Wrd+$0350;else pR^:=Wrd;end;inc(pW);inc(pR);dec(Len);end;end;
0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Усложнил себе жизнь)))

0

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас