О себе События Портфолио Статьи Гостевая Фотоальбом На злобу дня Ссылки Учеба Программы
Alex_K (г.Киров) - Алексей Кощеев
Хостинг и регистрация доменов в Кирове

На злобу дня

Asterisk cdr_mysql charset

Решил поделиться еще одним патчем к Asterisk.

Патч patch-addons-cdr_mysql.c (Asterisk 11) устраняет проблему с кодировкой при добавлении записей в модуле cdr_mysql.

В файле cdr_mysql.conf в секции [global] можно указать параметр charset, который по задумке авторов должен после коннекта к базе (а коннекты там можно сказать, что персистентные) делать запрос "SET NAMES ..." Не понял почему, но в моем случае (и скорее всего не только в моем) спустя некоторое время, получалось так, что кодировка, установленная в charset, не использовалась.

Патч делает так, что запрос "SET NAMES ..." выполняется перед добавлением каждой записи.

В Asterisk версии 10 аналогичная проблема точно была. Тогда у меня еще не было этого патча...

22.10.2019 при чтении Changelog 13 и 16 веток Asterisk (LTS) обнаружил, что патч в актуальных версиях Asterisk уже не нужен. Заметка пусть остается для истории.

2017-12-13 15:43 +0000 [898b3b080a]  Sean Bright

	* cdr_mysql: Make sure connection charset is always set

	  When the MYSQL_OPT_RECONNECT option is enabled, the MySQL client API
	  will transparently reconnect when it needs to. Ideally this simplifies
	  our code, but when this reconnection occurs all connection state is
	  lost. Because we are not notified that this has happened, we don't know
	  to set our character set again (with "SET NAMES 'xyz'").

Опубликовано: 02 декабря 2013 года.

Далее: Я пришел
Предыдущая заметка: Asterisk 11 и CID name
Перейти к списку заметок
Fanshop.ru

Рейтинг@Mail.ru

Rambler's Top100

© Алексей Кощеев, г.Киров, 2001-2024 хостинг предоставлен компанией Айхэд