AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

записи в mysql (из cdr) приходят в latin1

Asterisk GUI 9 сообщений -
#1

130528 12:39:47 1419 Connect freepbxuser@localhost on asteriskcdrdb
1419 Query SET NAMES utf8
1419 Query SET NAMES latin1

кодировка utf8 явно задана в /etc/asterisk/cdr_mysql.conf
user = freepbxuser
charset=utf8

не подскажете куда смотреть?
#2

Какой Asterisk ?
_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru
#3

вот оно

Код:
PBX*CLI> core show version
Asterisk 1.8.10.0-1digium1~0.1 on a i686 running Linux on 2012-10-12 14:09:43 UTC
#4

а в mysql настрока my.conf с utf8 ?
#5

Цитата:
а в mysql настрока my.conf с utf8 ?

да
#6

Обновитесь до актуальной версии. cdr_mysql используете? Он deprecated. Используйте cdr_adaptive_odbc.
_________________
Gentoo Linux || Asterisk 11.2-cert3
Решения телефонии на базе Asterisk || http://it-need.ru
#7

ок, спасибо за рекомендации
#8

Чтоб приручить asterisk к общению в utf8 надо проделать следующие процедуры.
в самом mysql в my.conf

[mysqld]
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
init-connect="SET NAMES utf8;"
collation-server=utf8_general_ci

не забывайте включать кэширования для mysql
query_cache_type=1

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld_safe]
default-character-set=utf8

В asterisk в cdr_mysql.conf:
[global]
charset=utf8

Если таблица уже была и там всё испортилось, нужно использовать конвертер.
Иногда бывает слёт кодировок при записи в mysql - лечится обновлением asterisk.
Можно на прямую попросить запись из таблицы в utf8
exten => _.,n,MYSQL(Connect conn_db1 localhost root root asteriskcall utf8)

но.... кодировка может слетать, по этому я дергаю её по крону каждую ночь
#9

в настройках созданной БД измените кодировку с latin1 на UTF-8 и будет вам щастье, для наглядности подойдет и phpmyadmin