powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / PL_FPDF - проблемы с кириллицами
25 сообщений из 30, страница 1 из 2
PL_FPDF - проблемы с кириллицами
    #38598702
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте, код пакета взял отсюда . На странице кнопку создал, привязал procces, и на procces вызываю процедуру из пакета, который генерирует pdf файл. Pdf файл отлично генерируется, вот только вместо кириллицам появляются крякозябры, уже второй день голову ломаю, помогите.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598768
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не сталкивался с подобной проблемой?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598797
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Кракозябры бывают разные. Покажите Ваши.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598878
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

абвгдеёжзийклмнопрстуфхцчшщыьъэюя - àáâãä叿çèéêëìíîïðñòóôõö÷øùûüúýþÿ
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598916
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Попробуйте перед выводом конвертировать текст. Я бы начал с процедуру TEXT

Код: plsql
1.
CONVERT(STROKA, 'WE8ISO8859P1', 'CL8MSWIN1251')


С первой кодировкой могу ошибаться, но по идее она идет в Ваших кракозябрах.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598939
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

Кодировка изменилась, но теперь перевернутые вопросики, пытаюсь перепробовать разные кодировки.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38598963
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Можно попробовать

Код: sql
1.
2.
3.
SELECT a.value val1,b.value val2 FROM V$NLS_VALID_VALUES a,V$NLS_VALID_VALUES b WHERE a.parameter = 'CHARACTERSET'
and b.parameter = 'CHARACTERSET' and (a.value like '%8859%' or a.value like '%1251%')
and (b.value like '%8859%' or b.value like '%1251%') order by 1


Правда долго проверять придется. А PDF ридер русский вообще видит?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599121
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

GustlyМожно попробовать

Код: sql
1.
2.
3.
SELECT a.value val1,b.value val2 FROM V$NLS_VALID_VALUES a,V$NLS_VALID_VALUES b WHERE a.parameter = 'CHARACTERSET'
and b.parameter = 'CHARACTERSET' and (a.value like '%8859%' or a.value like '%1251%')
and (b.value like '%8859%' or b.value like '%1251%') order by 1




в курсоре проверял, получилось 225 разных крякозябров.

А PDF ридер русский вообще видит?

с чужого компа заходил, тоже самое.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599130
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

В курсоре я тоже проверял, нормального варианта не нашел, но не факт что это девелопер правильно покажет, надо в ПДФ смотреть. Я имел в виду, что ридер вообще русский может видеть, необязательно из этого файла. Именно русский текст. Кодировка базы какая? Возможно стоит конвертить из родной (1251 скорее всего) в UTF8 для надежности.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599159
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gustly,

ПДФ ридер другие файлы видит.
Кодировка базы
1 NLS_CHARACTERSET CL8MSWIN1251
2 NLS_NCHAR_CHARACTERSET AL16UTF16
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38599174
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Тогда в самом верху TEXT перед работой с переданным текстом конвертните в UTF8
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38602525
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
function getFontTimes return charSet is
mySet charSet;
begin
-- Times font.
mySet(chr(0)) := 250; mySet(chr(1)) := 250; mySet(chr(2)) := 250; mySet(chr(3)) := 250; mySet(chr(4)) := 250; mySet(chr(5)) := 250; mySet(chr(6)) := 250; mySet(chr(7)) := 250; mySet(chr(8)) := 250; mySet(chr(9)) := 250; mySet(chr(10)) := 250; mySet(chr(11)) := 250; mySet(chr(12)) := 250; mySet(chr(13)) := 250; mySet(chr(14)) := 250; mySet(chr(15)) := 250; mySet(chr(16)) := 250; mySet(chr(17)) := 250; mySet(chr(18)) := 250; mySet(chr(19)) := 250; mySet(chr(20)) := 250; mySet(chr(21)) := 250;
mySet(chr(22)) := 250; mySet(chr(23)) := 250; mySet(chr(24)) := 250; mySet(chr(25)) := 250; mySet(chr(26)) := 250; mySet(chr(27)) := 250; mySet(chr(28)) := 250; mySet(chr(29)) := 250; mySet(chr(30)) := 250; mySet(chr(31)) := 250; mySet(' ') := 250; mySet('!') := 333; mySet('"') := 408; mySet('#') := 500; mySet('$') := 500; mySet('%') := 833; mySet('&') := 778; mySet('''') := 180; mySet('(') := 333; mySet(')') := 333; mySet('*') := 500; mySet('+') := 564;
mySet(',') := 250; mySet('-') := 333; mySet('.') := 250; mySet('/') := 278; mySet('0') := 500; mySet('1') := 500; mySet('2') := 500; mySet('3') := 500; mySet('4') := 500; mySet('5') := 500; mySet('6') := 500; mySet('7') := 500; mySet('8') := 500; mySet('9') := 500; mySet(':') := 278; mySet(';') := 278; mySet('<') := 564; mySet('=') := 564; mySet('>') := 564; mySet('?') := 444; mySet('@') := 921; mySet('A') := 722;
mySet('B') := 667; mySet('C') := 667; mySet('D') := 722; mySet('E') := 611; mySet('F') := 556; mySet('G') := 722; mySet('H') := 722; mySet('I') := 333; mySet('J') := 389; mySet('K') := 722; mySet('L') := 611; mySet('M') := 889; mySet('N') := 722; mySet('O') := 722; mySet('P') := 556; mySet('Q') := 722; mySet('R') := 667; mySet('S') := 556; mySet('T') := 611; mySet('U') := 722; mySet('V') := 722; mySet('W') := 944;
mySet('X') := 722; mySet('Y') := 722; mySet('Z') := 611; mySet('[') := 333; mySet('\') := 278; mySet(']') := 333; mySet('^') := 469; mySet('_') := 500; mySet('`') := 333; mySet('a') := 444; mySet('b') := 500; mySet('c') := 444; mySet('d') := 500; mySet('e') := 444; mySet('f') := 333; mySet('g') := 500; mySet('h') := 500; mySet('i') := 278; mySet('j') := 278; mySet('k') := 500; mySet('l') := 278; mySet('m') := 778;
mySet('n') := 500; mySet('o') := 500; mySet('p') := 500; mySet('q') := 500; mySet('r') := 333; mySet('s') := 389; mySet('t') := 278; mySet('u') := 500; mySet('v') := 500; mySet('w') := 722; mySet('x') := 500; mySet('y') := 500; mySet('z') := 444; mySet('{') := 480; mySet('|') := 200; mySet('}') := 480; mySet('~') := 541; mySet(chr(127)) := 350; mySet(chr(128)) := 500; mySet(chr(129)) := 350; mySet(chr(130)) := 333; mySet(chr(131)) := 500;
mySet(chr(132)) := 444; mySet(chr(133)) := 1000; mySet(chr(134)) := 500; mySet(chr(135)) := 500; mySet(chr(136)) := 333; mySet(chr(137)) := 1000; mySet(chr(138)) := 556; mySet(chr(139)) := 333; mySet(chr(140)) := 889; mySet(chr(141)) := 350; mySet(chr(142)) := 611; mySet(chr(143)) := 350; mySet(chr(144)) := 350; mySet(chr(145)) := 333; mySet(chr(146)) := 333; mySet(chr(147)) := 444; mySet(chr(148)) := 444; mySet(chr(149)) := 350; mySet(chr(150)) := 500; mySet(chr(151)) := 1000; mySet(chr(152)) := 333; mySet(chr(153)) := 980;
mySet(chr(154)) := 389; mySet(chr(155)) := 333; mySet(chr(156)) := 722; mySet(chr(157)) := 350; mySet(chr(158)) := 444; mySet(chr(159)) := 722; mySet(chr(160)) := 250; mySet(chr(161)) := 333; mySet(chr(162)) := 500; mySet(chr(163)) := 500; mySet(chr(164)) := 500; mySet(chr(165)) := 500; mySet(chr(166)) := 200; mySet(chr(167)) := 500; mySet(chr(168)) := 333; mySet(chr(169)) := 760; mySet(chr(170)) := 276; mySet(chr(171)) := 500; mySet(chr(172)) := 564; mySet(chr(173)) := 333; mySet(chr(174)) := 760; mySet(chr(175)) := 333;
mySet(chr(176)) := 400; mySet(chr(177)) := 564; mySet(chr(178)) := 300; mySet(chr(179)) := 300; mySet(chr(180)) := 333; mySet(chr(181)) := 500; mySet(chr(182)) := 453; mySet(chr(183)) := 250; mySet(chr(184)) := 333; mySet(chr(185)) := 300; mySet(chr(186)) := 310; mySet(chr(187)) := 500; mySet(chr(188)) := 750; mySet(chr(189)) := 750; mySet(chr(190)) := 750; mySet(chr(191)) := 444; mySet(chr(192)) := 722; mySet(chr(193)) := 722; mySet(chr(194)) := 722; mySet(chr(195)) := 722; mySet(chr(196)) := 722; mySet(chr(197)) := 722;
mySet(chr(198)) := 889; mySet(chr(199)) := 667; mySet(chr(200)) := 611; mySet(chr(201)) := 611; mySet(chr(202)) := 611; mySet(chr(203)) := 611; mySet(chr(204)) := 333; mySet(chr(205)) := 333; mySet(chr(206)) := 333; mySet(chr(207)) := 333; mySet(chr(208)) := 722; mySet(chr(209)) := 722; mySet(chr(210)) := 722; mySet(chr(211)) := 722; mySet(chr(212)) := 722; mySet(chr(213)) := 722; mySet(chr(214)) := 722; mySet(chr(215)) := 564; mySet(chr(216)) := 722; mySet(chr(217)) := 722; mySet(chr(218)) := 722; mySet(chr(219)) := 722;
mySet(chr(220)) := 722; mySet(chr(221)) := 722; mySet(chr(222)) := 556; mySet(chr(223)) := 500; mySet(chr(224)) := 444; mySet(chr(225)) := 444; mySet(chr(226)) := 444; mySet(chr(227)) := 444; mySet(chr(228)) := 444; mySet(chr(229)) := 444; mySet(chr(230)) := 667; mySet(chr(231)) := 444; mySet(chr(232)) := 444; mySet(chr(233)) := 444; mySet(chr(234)) := 444; mySet(chr(235)) := 444; mySet(chr(236)) := 278; mySet(chr(237)) := 278; mySet(chr(238)) := 278; mySet(chr(239)) := 278; mySet(chr(240)) := 500; mySet(chr(241)) := 500;
mySet(chr(242)) := 500; mySet(chr(243)) := 500; mySet(chr(244)) := 500; mySet(chr(245)) := 500; mySet(chr(246)) := 500; mySet(chr(247)) := 564; mySet(chr(248)) := 500; mySet(chr(249)) := 500; mySet(chr(250)) := 500; mySet(chr(251)) := 500; mySet(chr(252)) := 500; mySet(chr(253)) := 500; mySet(chr(254)) := 500; mySet(chr(255)) := 500;

return mySet;
end getFontTimes;

есть такая функция в пакете, именно это функция создает шрифты, можете доработать чтобы функция кириллицы тоже видела.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38603239
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что делает функция непонятно.

например
Код: plsql
1.
2.
  myset('G') := 722;
  myset('H') := 722;


Присваивает разным буквам одно и тоже значение. Как это на русский транслировать даже не знаю. Если с конвертом не получилось, я бы поискал другой конвертер в ПДФ.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38616254
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тема до сих пор актуальная, жду ответов.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38616535
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

http://technology.amis.nl/2012/04/11/generating-a-pdf-document-with-some-plsql-as_pdf_mini-as_pdf3/#prettyPhoto
Вот один из пакетов, который генерит PDF. Судя по примеру русский выводит.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38616834
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Санжар,

Ищешь чем формировать PDF или хочешь заставить работать именно этот пакет ?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38617177
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,

Если у Вас есть альтернативные решения, мне бы тоже было интересно посмотреть. Вариант выше работает, но его нужно допилить для работы через блобы в таблицах.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38617351
Санжар
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
APEX интегрировали с BiPublisher, теперь формируется не только PDF файлы и rtf, excell, xml и html файлы, крякозябры тоже решается.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38621245
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyЕсли у Вас есть альтернативные решения,
Я поставил Jasper сервер, правда у них Репорт дизайнер замученный, но отчеты печатает, при чем результат вполне предсказуемый. Хочу еще попробовать Pentaho, у него вроде возможностей побольше и интерактивные отчеты вроде бесплатные.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38696720
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь и я напоролся на эту проблему :(. Нужно сформировать PDF с кириллицей с наименьшими затратами по времени.
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38696810
Casufi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GustlyТеперь и я напоролся на эту проблему :(
Выше два поста с решениями. Чем не устраивают ?
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38696908
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Casufi,

Слишком долго и сложно. И времени нет. Время есть только на нарисовать PDF, да и то не хотят давать :(
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38711514
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
трындец ...заниматься ерундой если все на раз-два-три решает Bi Publisher (и rtf, excell, xml и html файлы)....выше писалось...и потом APEX Listeter прикрутить тож можно ;)
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38711526
AG#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly,

Gustly,

Правда долго проверять придется. А PDF ридер русский вообще видит?

------------------------------------------------------------------------------

по нормальному нет под виндами....либо писать какой-то свой pdf-u - формат..но скорей всего на линухах
...
Рейтинг: 0 / 0
PL_FPDF - проблемы с кириллицами
    #38711566
irbis_al
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще генератор отчётов PDF должен знать русский шрифт.
Мы создаём PDF на базе java библиотеки iText и обязательно указываем шрифт который отдельно скачали.
и он лежит в отдельной папке.Если этого не сделать выходят кракозяблы.
Я приложил шрифт.Если в вашем пакете есть функция создать документ или парашраф с неким базовым шрифтом ,который лежит там то и там то то воспользуйтесь ею.
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / PL_FPDF - проблемы с кириллицами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]