Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.218.215] |
|
Сообщ.
#1
,
|
|
|
Всем привет!
Здесь http://www.homepg.ru/index.php?option=com_content&task=view&id=23&Itemid=38 прочитал, как можно в Лазарусе реализовать вывод html страниц. Мой вопрос заключается в том, почему инструкция AssignFile(FHandle, ExtractFilePath(Application.ExeName)+'1.html'); AssignFile(FHandle2, ExtractFilePath(Application.ExeName)+'2.html'); Reset(FHandle); Rewrite(FHandle2); while not(eof(FHandle)) do begin Readln(FHandle,s); Writeln(FHandle2,SysToUTF8(s)); end; CloseFile(FHandle); CloseFile(FHandle2); не переводит страницу в UTF-8. Страница моя в кодировке windows-1251 и компонент IpHtmlPanel1 без перекодировки вместо русских букв выводит перечеркнутые квадратики. После программной перекодировки, описанной в статье, вместо букв стали вопросительные знаки. Но, когда я с помощью Quanta+ перекодировал страницу в UTF-8, русские буквы стали выводиться нормально. Вопрос: как правильно построить код, чтобы программно переводить кодировку символов? Добавлено У меня в Убунте системная кодировка UTF-8. Таким образом функция SysToUTF8(s) и не работает. Нашел здесь http://translate.google.com/translate?hl=ru&langpair=en|ru&u=http://www.lazarus.freepascal.org/index.php%3Ftopic%3D9017.0 это: procedure TForm2.ZQuery1Field2GetText(Sender: TField; var aText: string; DisplayText: Boolean); begin aText := CP1251ToUTF8(Sender.AsString); end; Но Лазарус ругается на CP1251ToUTF8. Где найти информацию про функции в Лазарусе... |
Сообщ.
#2
,
|
|
|
Погуглив полдня, нашел, что отвечает за это модуль LConvEncoding, который нужно подключить к проекту.
|