Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

fpdf Elastix cdr mysql

0

Вопрос такой! В PBX есть отчет о звонках так вот если прилитает callname в русской кодировке в баз узаносится намана но в отчетах ??????? знаки и при експорте в pdf тоже ?????? знаки вместо русского

вот прописал в
    cat cdr_mysql.conf
    charset=cp1251

в таблицу clid заносятся все по русски Конвертер pdf в elastix стоит fpdf так он и не хочит конвертить ((( . В отчете по веб тоже все ???? Может кто поможет???

удалить закрыть спам изменить тег редактировать

спросил 2011-11-21 11:42:43 +0400

avolon Gravatar avolon
9 22 2 15

обновил 2011-11-21 11:54:10 +0400

igorg Gravatar igorg flag of Russian Federation
2244 3 7 40
http://igorg.ru/

Comments

avalon, а русский просто не родной, или ты в школе просто уроки прогуливал?

litnimax ( 2011-11-23 07:31:37 +0400 )редактировать

4 Ответа

0

Готов помочь разобраться. Установил себе 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 Gravatar Bracus
110 4 3 7

обновил 2011-11-23 14:29:43 +0400

Comments

вышли шрифт на siniy2004@yandex.ru

avolon ( 2011-11-23 16:49:02 +0400 )редактировать

закинул сюда http://zalil.ru/upload/32118276 для его создания использовал http://fpdf.fruit-lab.de/ брал виндовый arial

Bracus ( 2011-11-23 17:30:02 +0400 )редактировать
0

в 2.8-2.9 это делается вот тут

/var/www/html/admin/cdr/lib/defines.php

в функции DbConnect в конце.

ссылка удалить спам редактировать

ответил 2011-11-23 01:33:14 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Comments

Да смотрел я эту функцию (( но там нет конекта к mysql только к внутр базе или postgres (((

avolon ( 2011-11-23 08:05:28 +0400 )редактировать

else{ $datasource = DB_TYPE.'://'.USER.':'.PASS.'@'.HOST.'/'.DBNAME;}

meral ( 2011-11-23 08:33:28 +0400 )редактировать

эту строчку тоже видили? она к чему относиться? к постгресу или к sqllite? ;)

meral ( 2011-11-23 08:34:20 +0400 )редактировать

короче. не стардайте фигней. можете потрейсить. это именно то что использутся данным модулем для конекта к mysql.

meral ( 2011-11-23 08:35:19 +0400 )редактировать
0

https://x.x.x.x/admin/reports.php

это только обертка

смотрите файлы в каталоге

/var/www/html/admin/cdr/

ссылка удалить спам редактировать

ответил 2011-11-21 17:17:01 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

обновил 2011-11-22 16:20:40 +0400

Comments

нет такого коталога (( я просто не пойму в базе все по русски так нет отображается ???? знаками ((((( блин

avolon ( 2011-11-22 07:19:13 +0400 )редактировать

опс, извиняюсь. каталог такой /var/www/html/admin/cdr/

meral ( 2011-11-22 16:20:26 +0400 )редактировать

Эт я перелапатил но не смог понять как он с базы берет (((( в какой кодировке

avolon ( 2011-11-22 19:18:27 +0400 )редактировать

ну а зачем вам? поменяйте кодировку на какую хотите перед запросом.

meral ( 2011-11-22 19:31:49 +0400 )редактировать

Ха знал бы где именно то поменял (( перелазил все так и не нашел где именно перед запросом то Да и в Master.csv точки вместо русского

avolon ( 2011-11-22 20:45:23 +0400 )редактировать
0

Выход стандартный - найти где в коде статистики происходит подключение к БД и после подключения выполнить запрос "SET NAMES cp1251". Подробнее о кодировке подключения к MySQL: http://dev.mysql.com/doc/refman/5.5/en/charset-connection.html

ссылка удалить спам редактировать

ответил 2011-11-21 11:53:51 +0400

igorg Gravatar igorg flag of Russian Federation
2244 3 7 40
http://igorg.ru/

Comments

если в базу пишется правильно, то это не верный совет.

shakirov ( 2011-11-21 12:10:59 +0400 )редактировать

в базу все оки ложит (( Немогу найти где запрос происходит в этом elastix так путь https://x.x.x.x/admin/reports.php но в файле репортс нет запроса к базе ((((

avolon ( 2011-11-21 13:28:17 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2011-11-21 11:42:43 +0400

Просмотрен: 1,376 раз

Обновлен: Jun 12 '13

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.