Builder C++ Rave Отчеты о проблеме с кириллицей
Когда я пытаюсь сохранить проект rave в файле pdf\html, имейте неправильную кодировку. Когда выбираете формат и нажимаете SAVE, он обычно сохраняется в коде iso-8859-1. Но мне нужен cp1251 (кириллица).
Например, "Ïëîùàäü" вместо "Площадь".
2 ответа
У меня та же проблема, когда я хочу сохранить отчет в формате PDF. Я должен создать TRvRenderPDF и установить его как RenderObject, но PDF-файл был просмотрен не правильно.
- Компонент TRvRenderPDF не совместим с юникодом (что очень плохо), поэтому весь текст в отчете включен в Ansi с активной кодовой страницей (для кириллицы это CP1251). Теперь у нас есть PDF-файл с текстом в кодировке CP1251.
- По умолчанию TRvRenderPDF генерирует pdf с шрифтом TYPE1 Helvetica(по стандарту формата pdf это встроенный). Но текст интерпретируется с помощью кодировки ISO 8859-1(или CP1252), но это была кодировка CP1251, поэтому у нас есть "код" или что-то аналогичное.
Что мы можем сделать:
- Получите шрифт TYPE1(CP1252), в котором служебные символы (цифры, такие как кириллические буквы в CP1251) заменены на кириллические глифы. Например ссылка и нам нужно ее установить.
- Теперь нам нужно заменить старое имя шрифта (Helvetica) из сгенерированного PDF-документа новым именем шрифта (AGHelvetica). Вы можете сделать это с помощью текстового редактора или вашей программы (прочитайте файл -> найти -> заменить -> сохранить файл).
Вот и вся ситуация.
PS Извините за мой английский.
PPS Если установить свойство pdf render EmbedBaseFonts = true, документ PDF был сохранен со шрифтами TrueType, но проблема осталась. Нужно увидеть Unicode визуализации? но не этот.
Я предполагаю, что лучшим решением вашей проблемы будет использование Unicode, а не кодовая страница, такая как CP1251. Можно ли использовать Unicode с Rave Reports?