First time here? Check out the FAQ!

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

fpdf Elastix cdr mysql

0

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

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

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

спросил Nov 21 '11

avolon Gravatar avolon
9 22 2 15

обновил Nov 21 '11

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

Comments

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

litnimax (Nov 23 '11)edit

4 Ответа

0

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

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

ответил Nov 21 '11

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

Comments

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

shakirov (Nov 21 '11)edit

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

avolon (Nov 21 '11)edit
0

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

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

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

/var/www/html/admin/cdr/

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

ответил Nov 21 '11

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

обновил Nov 22 '11

Comments

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

avolon (Nov 22 '11)edit

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

meral (Nov 22 '11)edit

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

avolon (Nov 22 '11)edit

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

meral (Nov 22 '11)edit

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

avolon (Nov 22 '11)edit
0

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

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

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

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

ответил Nov 22 '11

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

Comments

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

avolon (Nov 23 '11)edit

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

meral (Nov 23 '11)edit

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

meral (Nov 23 '11)edit

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

meral (Nov 23 '11)edit
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]))

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

ответил Nov 23 '11

Bracus Gravatar Bracus
110 4 3 7

обновил Nov 23 '11

Comments

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

avolon (Nov 23 '11)edit

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

Bracus (Nov 23 '11)edit

Ваш ответ

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 ленту новостей

Статистика

Задан: Nov 21 '11

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

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

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