Готов помочь разобраться. Установил себе Elastix и смог добиться выгрузки отчета в pdf русскими буквами.
- Для начала необходимо установить русский шрифт для FPDF(тот который установлен по умолчанию не поддерживает русский). Если нужен шрифт могу скинуть.
Для установки шрифта необходимо его скопировать в папку /var/www/html/libs/fpdf/fonts
и установить владельца файла скорее всего у тебя будет asterisk (chown asterisk:asterisk filename)
Далее необходимо указать что нужно использовать этот шрифт
файл /var/www/html/libs/paloSantoGrid.class.php строка 142
$pdf->setFont("Verdana"); - по умолчанию
и файл /var/www/html/libs/paloSantoPDF.class.php строка 148 $this->AddFont('verdana','','verdana.php'); - по умолчанию
установить подключение к MySQL в той кодировке в которой у тебя пишется в БД
в файле /etc/my.cnf в секцию [mysqld] добавить
[mysqld]
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake
В зависимости какая кодировка в БД cp1251 или utf8, поля в таблицах также должны быть в соответствующих кодировках cp1251generalci или utf8generalci
для применения настроек перезагрузить mysql командой /etc/init.d/mysql restart
В php файлах формирования отчета установлена принудительная перекодировка в utf-8
для pdf отчета это файл /var/www/html/libs/paloSantoPDF.class.php
строка № 320
...................
$this->MultiCell($w,5,utf8_decode(rtrim($data[$i])),0,$a);
..................
ее необходимо будет изменить либо убрав функцию utf8_decode либо изменив эту функцию
на iconv("исходная кодировка", "кодировка для применения",rtrim($data[$i]))
ответил
2011-11-23 14:24:57 +0400
Bracus 110 ● 4 ● 3 ● 7
avalon, а русский просто не родной, или ты в школе просто уроки прогуливал?
litnimax ( 2011-11-23 07:31:37 +0400 )редактировать