LINUX.ORG.RU
ФорумAdmin

OCSInventory + Mysql utf8


0

0

Пытаюсь настроить OCSInventory.
Остановился пока на серверной части, проблема в том что не могу добиться отображения русских букв в базе.
Сейчас меня интересует только серверная часть (не web интерфейс).

База данных ocsweb по умолчанию в utf8.
my.cnf:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
#bind-address=127.0.0.1
bind-address=0.0.0.0
default-character-set=utf8
default-collation=utf8_general_ci
collation_server=utf8_general_ci
character_set_server=utf8
key_buffer_size=128M
table_cache=4096
sort_buffer_size=8M
read_buffer_size=2M
max_allowed_packet=16M
[mysql.server]
user=mysql
basedir=/usr
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8

Чего сейчас добился:
1. В файле Ocsinventory.pm подправил немного код (как везде пишут) - XML файл получаю в кодировке cp1251 с заголовком iso-8859-1, далее я его через Encode::from_to кодирую в utf8, и меняю xml encoding iso-8859-1 на utf8.
Для теста все это сохраняется на диск, все отлично с кодировкой.
2. В файлах Database.pm и System.pm после коннекта добавил строку:
$dbh->do("SET NAMES 'utf8'") if($dbh);
Теперь все по идее должно работать, но далее начинается мистика для меня.
В базу все сохраняется как:
echo "Ðбновление Ð´Ð»Ñ Windows XP (KB967715)" | iconv -futf8 -tlatin1
Обновление для Windows XP (KB967715)

дошел до функции _update_inventory_section в файле Update.pm, получил дебаггом все поля по русски (utf8).
в конце $dbh->commit.

где косяк не понимаю! :-/

★★★★★

Re: OCSInventory + Mysql utf8

Собирал по статье с опеннета клиент и сервер должны быть патченные, с кодировками проблем нет

vadv ★★ ()
Ответ на: Re: OCSInventory + Mysql utf8 от vadv

Re: OCSInventory + Mysql utf8

с кодировками проблем нет именно в базе или в патченных веб интерфейсах? Меня интересует сейчас только база. у меня есть патченная версия 1.02.1 тоже, там в серверной части из изменений только пара SET NAMES 'utf8' в середине кода.

anonymous2 ★★★★★ ()
Ответ на: Re: OCSInventory + Mysql utf8 от vadv

Re: OCSInventory + Mysql utf8

ну дык интерфес патчат, потому что котыль где то в перловых скриптах из за чего в базу мусор валится.
вот от этого я и хочу избавиться.

anonymous2 ★★★★★ ()

Re: OCSInventory + Mysql utf8

все сделал, база в utf8.
запостил патч на родной форум.

anonymous2 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.