кодировка в отчетах
Модератор: Модераторы
кодировка в отчетах
при формировании отчета в lazreport вместо русских букв показывается всякая чушь. на латинице все нормально, с криллицей проблемы.
у IBConnection указана кодировка win1251, такая же была при создании БД
кто может, подскажите как решить задачу
у IBConnection указана кодировка win1251, такая же была при создании БД
кто может, подскажите как решить задачу
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
У шрифтов CharSet - правильно установил?
в контекстном меню объекта с текстом выбери "Шрифт" - и там проверь
по умолчанию ставится латиница
эта фича ещё с FastReport 2.3 была известна - в 2.4 Цыганенко её обошёл - а вот в FreeReport это не попало
а вобще лечится просто
где нибудь у себя в коде при запуске приложения пропиши следующее
frCharset:=204;
эта переменная объявлена в lr_class.pas и обозначает по умолчанию используемы набор символов
а 204 - это в винде именно русский charset.
в контекстном меню объекта с текстом выбери "Шрифт" - и там проверь
по умолчанию ставится латиница
эта фича ещё с FastReport 2.3 была известна - в 2.4 Цыганенко её обошёл - а вот в FreeReport это не попало
а вобще лечится просто
где нибудь у себя в коде при запуске приложения пропиши следующее
frCharset:=204;
эта переменная объявлена в lr_class.pas и обозначает по умолчанию используемы набор символов
а 204 - это в винде именно русский charset.
спасибо, с кодировкой проблема решена. но не получается вывести просмотр отчета из программы (до этого работал из дизайнера). код кнопки показа отчета
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
begin
frReport1.ShowReport;
end;блин. уже год прошел а эти косяки не пофиксены
Причем с "кривозябликами" вообще странность какаято...
Начал добавлять возможность печати в проект дома (WinXP SP2 rus) все нормално отображалось. создал отчет, сохранил.
сегодня принес проект на работу (тоже WinXP, тоже SP2, тоже русский), решил продолжить - "кривозяблики"...
причем в предпросмотре и дизаене лазрепорта, но когда отрываешь текстовое поле на редактирование то в окне редактирования все норм отображается.
Причем с "кривозябликами" вообще странность какаято...
Начал добавлять возможность печати в проект дома (WinXP SP2 rus) все нормално отображалось. создал отчет, сохранил.
сегодня принес проект на работу (тоже WinXP, тоже SP2, тоже русский), решил продолжить - "кривозяблики"...
причем в предпросмотре и дизаене лазрепорта, но когда отрываешь текстовое поле на редактирование то в окне редактирования все норм отображается.
да я воспользовался твоими рекомендациями и установил шрифт по у молчанию русский(набор символов: Кириличекий). стало все нормально.
Но писал я о том что дома все и без этих манипуляций нормально работает и отображается, а на работе косяк. при том что ситемы практически одинаковые.
Но писал я о том что дома все и без этих манипуляций нормально работает и отображается, а на работе косяк. при том что ситемы практически одинаковые.
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Это особенности винды - что если не используются виндовые юникоды - то надо указывать явно кодовую страницу для шрифтов. Цыганенко с этим ещё в FastReport-e бился.
А системы наверное всёж различаются
настройками.
А системы наверное всёж различаются
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
погано живёт
засада в чтении xml - после чтения объекты xml (текстовые строки) находятся в win1251 кодировке. Поэтому пока извращаюсь.
Привязку frCharset:=204; всё равно надо делать.
P.S.
Под gtk2 начал пробоавть делать нативную печать через gtk2 функции - но времени нет.
засада в чтении xml - после чтения объекты xml (текстовые строки) находятся в win1251 кодировке. Поэтому пока извращаюсь.
Привязку frCharset:=204; всё равно надо делать.
P.S.
Под gtk2 начал пробоавть делать нативную печать через gtk2 функции - но времени нет.
может стоит предложить автору лазрепорта ввести свойство Charset у TfrReport. и добавить в файлы(.lrf) запись с глобальной Charset для всего отчета?
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
Цыгененко в FastReport-е 2.4 просто эту инициализацию воткнул в модули языковых ресурсов. Там необходимо было чтобы FR заговорил по руски подменить два (кажется) pas файла. Вот в них и было присовение для этой переменной.
В принципе это не напрягает. 1 раз прописал в начале исходника и всё. Просто этот вопрос слабо освещён в документации.
В принципе это не напрягает. 1 раз прописал в начале исходника и всё. Просто этот вопрос слабо освещён в документации.
frCharset:=204;
а она вообще работает? вставлял в разные места:
- в lpr
- в модуль в которм вызываю репорт (инициализировал в FormCreate)
- в модуль главной формы (инициализировал в FormCreate)
ноль реакции. после запуска программы и вызова отчета, у полей, в отчете, у которых не установлен руский шрифт все также кривозяблики...
а если всем полям всеравно нужно ставить руский шрифт вручную, то зачем она нужна...
