среда, 28 ноября 2007 г.

Кодировка UTF-8 для Abills

Спасибо mnk. Оригинальный пост - http://abills.net.ua/forum/viewtopic.php?t=3281&highlight=utf8

Вот сделал, может кому пригодиться (на примере utf8). База MYSQL 5 -остается в cp1251.
1. Правим файл /usr/abils/libexec/config.pl
Код:
#For MySQL 5 and highter
$conf{dbcharset}='utf8';

Код:
$conf{MAIL_CHARSET}='utf8';
$conf{default_language}='russian';
$conf{default_charset}='utf8';

2. Файл /usr/abills/Abills/XML.pm строка ~577
Код:
my $CHARSET=(defined($attr->{CHARSET})) ? $attr->{CHARSET} : 'utf-8';

3. Файл /usr/abills/Abills/defs.conf строка ~38
Код:
$lang_charset='utf-8';

4. Файл /usr/abills/Abills/HTML.pm сторока ~98
Код:
$self->{CHARSET}=(defined($attr->{CHARSET})) ? $attr->{CHARSET} : 'utf-8';

5. Спомощью команды iconv перекодируем файлы в директории /usr/abils/language/, а также файлы usr/abills/Abills/defs.conf и /usr/admin/cgi-bin/admin/index.cgi Например, для файла russian.pl
Код:
iconv -fcp1251 -tutf8 russian.pl -orussian.pl1
mv russian.pl1 russian.pl

И поменять в них $CHARSET=" windows-1251" на $CHARSET=" utf8", хотя работает и без этого.

Abills

Долго не мог понять почему бажит админка abills. Оказалось неправильная кодировка базы.