Denis97832 Опубликовано 23 февраля, 2015 Поделиться Опубликовано 23 февраля, 2015 Всем привет)Хочу создать новости в memo, но у меня показывает какие-то каракули. Как исправить чтоб нормальный текст показыввало?У меня вот такой код Memo1.text:=utf8String(IdHTTP1.get('http://site.ru/new.txt')); Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 23 февраля, 2015 Поделиться Опубликовано 23 февраля, 2015 А у тебя сам проект юникодовый? Если нет, то зачем ты преобразование в юникод делаешь? Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 23 февраля, 2015 Поделиться Опубликовано 23 февраля, 2015 При загрузке кода сайта у него Кириллица не отображается.Как правильно: Memo1.text:=UTF8Decode(IdHTTP1.get('http://site.ru/new.txt')); Ссылка на комментарий Поделиться на другие сайты Поделиться
Chucky Опубликовано 23 февраля, 2015 Поделиться Опубликовано 23 февраля, 2015 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Denis97832 Опубликовано 24 февраля, 2015 Автор Поделиться Опубликовано 24 февраля, 2015 Добавил этот код и все норм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; Ссылка на комментарий Поделиться на другие сайты Поделиться
Vlad2 Опубликовано 24 февраля, 2015 Поделиться Опубликовано 24 февраля, 2015 Усложнил себе жизнь))) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения