LINUX.ORG.RU
ФорумAdmin

PostgreSQL 8.4 и русский в WIN-1251


0

0

Добрый день!

Ubuntu рысь. Локально установил Postgres и OTRS (система тикетов для техподдержки).

Проблема вот в чем...

БД в Postgres в UTF8. А OTRS в win-1251. При добавлении в БД русского текста OTRS выдает ошибку о том, что что-то с символами UTF-8 не так...

Браузер то посылает русский в win-1251.

Можно ли как-то налету средствами БД перекодировать всё в UTF-8? Я не хочу в базе разводить бардак и создавать базу в 1251

Помогите, пожалуйста. ЗЫ: Только вчера установил Postgres.

Ответ на: комментарий от x905

Может и можно. Но как?

Сейчас вообще пишет при входе:

OTRS is currently in maintainance mode

OTRS is currently switched off by the system administrator. Please go back to the start page later and/or press the reload button of your browser.

Cerbere88
() автор топика
Ответ на: комментарий от Cerbere88

Может и можно.

Можно.

Но как?

Путём чтения официальной документации. Это такая толстенькая PDF'ка, скачиваемая с официального сайта.

P.S. Через пару минут выложу пример конфига, если через глючный МТС'овский жопорез получится достучаться до рабочего сервера.

Deleted
()
Ответ на: комментарий от Cerbere88

В общем, вот значения, которые ИМХО стоит изменить:

# Кодировка и язык.
$Self->{DefaultCharset} = 'utf-8';
$Self->{DefaultLanguage} = 'ru';

# Для пущей безопасности...
# Выключаем веб-инсталлятор.
$Self->{SecureMode} = 1;
# Убираем "SQL Box".
delete($Self->{'Frontend::Module'}->{'AdminSelectBox'});
# Убираем "Support Assessment".
delete($Self->{'Frontend::Module'}->{'AdminSupport'});
# Убираем "Package Manager".
delete($Self->{'Frontend::Module'}->{'AdminPackageManager'});
# Убираем "System Configuration".
delete($Self->{'Frontend::Module'}->{'AdminSysConfig'});

# SystemID должен быть уникальным у каждой установки OTRS. Этот ID влияет на генерацию номеров тикетов и возможно ещё на что-то.
$Self->{SystemID} = 12;
# Генератор номеров тикетов. Тот что по умолчанию создаёт очень длинные и неудобные номера.
$Self->{'Ticket::NumberGenerator'} = 'Kernel::System::Ticket::Number::AutoIncrement';

# Использовать кукисы.
$Self->{SessionUseCookie} = 1;

# Не проверять MX-записи у доменов в адресах электронной почты при регистрации пользователей и клиентов. Может быть полезно в случаях, когда указание валидных почтовых ящиков необязательно или невозможно.
$Self->{CheckMXRecord} = 0;

# Имя домена и схема URL, по которым пользователи будут заходить на OTRS.
$Self->{FQDN} = "otrs.example.org";
$Self->{HttpType} = 'https';

# Название.
$Self->{Organization} = 'Pupkin, Inc.';

# Мыло админа.
$Self->{AdminEmail} = 'admin@example.org';

# Способ отправки почты. SMTP напрямую лучше не использовать, т.к. если связь до SMTP-сервера упадёт, OTRS при создании тикетов (и не только) будет дико тормозить на попытках до него достучаться.
$Self->{'SendmailModule'} = 'Kernel::System::Email::Sendmail';
А вообще, в OTRS просто ДОХРЕНИЩЩА фич и настроек, большинство из которых выключены по умолчанию и настраиваются через конфиг. Так что всё-таки рекомендую посмотреть официальную документацию.

Deleted
()
Ответ на: комментарий от Cerbere88

Это в каком именно конфиге?

Kernel/Config.pm

Deleted
()
Ответ на: комментарий от Cerbere88

Access denied for user 'otrs'@'localhost' (using password: NO)

Тут я не совсем понял: это ты пытаешься залогиниться в OTRS с именем 'otrs'@'localhost' или OTRS не может подключиться к postgresql?

Deleted
()
Ответ на: комментарий от Cerbere88

А вы могли бы ко мне подключиться и всё сделать?

Cerbere88
() автор топика
Ответ на: комментарий от Cerbere88

Не надо портить кластер с initdb
Создавайте его в системной локали, наверняка это utf8.
Для того чтобы нормально работали русский язык надо чтобы клиент указал при соединении правильно кодировку в которой он отправляет/принимает данные. Если клиент этого не делает то данные отдаются в кодировке базы.
В посгресе начиная с 8.3 можно указать дефолтную кодировку для базы
alter database basename set clent_encoding='WIN'

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