Список форумов Asterisk Forum Asterisk Forum
The Asterisk Open Source PBX - Russian Community
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ПравилаПравила   ГруппыГруппы   ИзбранноеИзбранное    LinksСсылки   РегистрацияРегистрация 
 RSSRSS   ПрофильПрофиль   Войти и проверить личные сообщения   ВходВход 

freePBX 13 русский текст в UCP

 
Список форумов Asterisk Forum -> Asterisk GUI    вывод темы на печать
Предыдущая тема :: Следующая тема  
Автор Сообщение
olegrz



Зарегистрирован:
19.03.2013
Сообщения: 31

Статус: Оффлайн 

СообщениеДобавлено: Ср Фев 24, 2016 12:00    Заголовок сообщения: freePBX 13 русский текст в UCP

Установил asterisk 13 + FreePBX 13 из исходников. Проблема нарисовалась - не отображаются в UCP имена на русском. Вместо имени ????????.
В CDR FreePBX все отображается на русском. В mysql в таблице CDR тоже всё на русском. ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci - таблица создана с возможностью работы с русским языком.
Может кто сталкивался?


Последний раз редактировалось: olegrz (Пт Фев 26, 2016 16:47)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
olegrz



Зарегистрирован:
19.03.2013
Сообщения: 31

Статус: Оффлайн 

СообщениеДобавлено: Чт Фев 25, 2016 18:32    Заголовок сообщения:

Проблему так и не решил.
имена, которые отображаются в UCP вместо русских букв вопросами,
берутся:
phonenebook FreePBX -> поиск по CallerID (внутренний источник) -> внутренняя база данных Asterisk
/var/lib/asterisk/astdb.sqlite3 (И в консоли Asterisk, и в программах для просмотра sqlite3 все имена отображаются на русском.) -> отображение в "Отчёты CDR" - (все имена отображаются на русском) -> сохраняются в таблице cdr (в консоле mysql тоже русский). И только когда из UCP идёт запрс к базе asteriskcdrdb место русских букв появляются вопросы

Вот тут где -то собака и зарылась.
А где не пойму.

mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> show create database asteriskcdrdb;
+---------------+------------------------------------------------------------------------------------------------+
| Database | Create Database |
+---------------+------------------------------------------------------------------------------------------------+
| asteriskcdrdb | CREATE DATABASE `asteriskcdrdb` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci */ |
+---------------+------------------------------------------------------------------------------------------------+
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
olegrz



Зарегистрирован:
19.03.2013
Сообщения: 31

Статус: Оффлайн 

СообщениеДобавлено: Сб Фев 27, 2016 08:54    Заголовок сообщения:

РЕШЕНО!!!
/etc/my.cnf
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
NickCool



Зарегистрирован:
07.05.2017
Сообщения: 1

Статус: Оффлайн 

СообщениеДобавлено: Вс Май 07, 2017 14:10    Заголовок сообщения: Схожая проблема

Доброго времени суток!

Имею ввиду несчастного случая (версия ОС) следующую конфигурацию:
ubuntu 16.04 x32
asterisk certified/13.8-cert2
freepbx 13
MySQL 5.7
PHP 5.6

С учётом проблем с php и ODBC (первый только 7 версии, а второй отсутствует в системе), которые были преодолены осталась последняя: в cdr через ODBC кириллица записывается в latin1, в то время как cdr_mysql (да, @depricated, но поставил) - пишет красиво в utf8.

По ODBC:
ставил с https://dev.mysql.com/downloads/connector/odbc/ - Connector/ODBC 5.3.8 for Ubuntu 16.04 32-bit


[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3
charset=utf8



Description = ODBC for MySQL
Driver=/usr/lib/i386-linux-gnu/odbc/libmyodbc5w.so
FileUsage = 1



| Variable_name | Value |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/


Уже и в /etc/mysql/mysql.conf.d/mysqld.cnf добавлял в секцию [general]

character_set_server=utf8
collation_server=utf8_unicode_ci
character-set-server=utf8
collation-server=utf8_unicode_ci
init_connect='SET collation_connection = utf8_unicode_ci, character_set_results = utf8_unicode_ci'
init_connect='SET NAMES utf8'


А система всё сопротивляется и пишет от cdr_ODBC ""Николай Михайлович" <103>", а cdr_mysql '"Николай Михайлович" <103>'.
И вот у меня не сходится в итоге.

Буду благодарен за пинок в верном направлении.

---------------------------------------------------------------------
UPD:
Помогло:
https://blogs.oracle.com/mysqlconnectors-ODBC/entry/common_problems_and_mistakes_when

Нужно было в /etc/odbcinst.ini указать не "w" (UNICODE), а "a" (ANSI) для UTF8:
Driver=/usr/lib/i386-linux-gnu/odbc/libmyodbc5a.so

Выкинул всё добавленное из /etc/mysql/mysql.conf.d/mysqld.cnf - результат по прежнему положительный.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Список форумов Asterisk Forum -> Asterisk GUI Ответить на тему
Страница 1 из 1

Добавить в Избранное

 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
You cannot attach files in this forum
You cannot download files in this forum