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

Слетает русская кодировка в CDR

Asterisk IP PBX 4 сообщений 23.08.2011 08:54 - 23.08.2011 08:54
#1

На 1.8.9.2 столкнулся с тем же, слетает кодировка время от времени, получилось решить проблему?
#2

я бы не стал в астериске использовать любые буквы кроме латиницы. были проблемы, правда, еще на 1.4.
конвертацию средствами базы по триггеру можно бы сделать.
#3

У меня на 1.8.5.0 нет таких проблем.
_________________
Intel Core 2 Duo E6400 @ 2.40GHz / 6Gb / 160Gb || Gentoo Linux || Asterisk 1.8.12
Решения телефонии на базе Asterisk || http://it-need.ru
#4 23.08.2011 08:54

Слетает русская кодировка в CDR


Коллеги, добрый день.

Возникла следующая проблема.
Имеется Asterisk 1.6.2.13, asterisk-addons-1.6.2.2, mysql-server 5.0.77
С помощью команды CDR пишу в userfield некие значения в кириллице, которые затем используются для статистики.
exten => app,n,Set(CDR(userfield)=${Full_Name})

Значение в базу пишется нормально, но через какое-то время кодировка слетает. В cdr-файлах все нормально, в базе: Попов
Есть ощущения, что через какое-то время слетает кодировка подключения и модуль начинает писать в мускул в latin1 вместо utf8. Помогает только перезапуск модуля или Астериска.
Был такой баг с кодировкой в старых версиях мускула http://bugs.mysql.com/bug.php?id=11972 , но вроде давно должен быть исправлен.

Использует ли кто-то кириллицу в cdr и сталкивался ли с такой проблемой?

Содержимое my.cnf:
Код:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0
default-character-set=utf8
default-collation=utf8_general_ci
character-set-server=utf8
init-connect='SET NAMES utf8;'
collation-server=utf8_general_ci

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
default-character-set=utf8


Содержимое cdr_mysql.conf:
Код:
[global]
hostname=localhost
dbname=asterisk
table=cdr
password=asterisk
user=asterisk
port=3306
sock=/var/lib/mysql/mysql.sock
userfield=1
;usegmtime=yes
charset=utf8
;compat=no
; ssl connections (optional)
;ssl_ca=
;ssl_cert=
;ssl_key=

[columns]
;static "" =>
;alias =>
alias start => calldate
;alias callerid => clid
;alias src => src
;alias dst => dst
;alias dcontext => dcontext
;alias channel => channel
;alias dstchannel => dstchannel
;alias lastapp => lastapp
;alias lastdata => lastdata
;alias duration => duration
;alias billsec => billsec
;alias disposition => disposition
;alias amaflags => amaflags
alias accountcode => accountcode
;alias userfield => userfield
;alias uniqueid => uniqueid