Понадобилось поставить dovecot (оговоре в техзадании) с авторизацией через базу с шифрованными паролями. Из документации по dovecot понял, что он может использовать MD5-Digest и MD5-Cram. Выбрал MD5-Digest. Написал скрипт на perl который должен вносить в таблицу значение запороленное и не запароленное (в тестовых целях, потом поправлю для создания пользователей в базе). Но при выполнении скрипта возникает следующая ошибка:
[root@shturman crypt]# ./crept1
i�Q�����{ph
DBD::Pg::st execute failed: ERROR: неверная последовательность байт имя кодировки «UNICODE»: 0xe58149
DBD::Pg::st fetchrow_array failed: no statement executing
Вот сам скрипт:
#!/usr/bin/perl
use DBI;
use Digest::MD5 qw(md5);
$crypted1=«111»;
$crypted=md5($crypted1);
chomp $crypted;
print «$crypted\n»;
$dbh = DBI->connect(’dbi:Pg:dbname=mail’, 'postgres’, 'post’);
$sql="INSERT INTO crypt (cr, non_cr) values (’$crypted’, '$crypted1\′)»;
$sth = $dbh->prepare($sql) or die «can’t…»;
$sth->execute;
while (@row = $sth->fetchrow_array)
{print «$row: @row $row\n»;}
print $!.«\n»;[root@shturman crypt]#
Некоторая дополнительная информация:
версия pgsql 8.0.3.
mail=> \l
Список баз данных
Имя | Владелец | Кодировка
———--+——————+——————--
mail | postgres | UNICODE
template0 | postgres | UNICODE
template1 | postgres | UNICODE
(записей: 3)
mail=> \d+ crypt
Таблица «public.crypt»
Колонка | Тип | Модификаторы | Описание
—————-+———————--+————————--+——————
cr | character varying(50) | |
non_cr | character varying(50) | |
Индексы:
«idx_crypt» UNIQUE, btree (cr)
Содержит OIDs: да
/var/lib/pgsql/data/postgresql.conf содержит следующие настройки по поводу кодировок:
client_encoding = sql_ascii
lc_messages = 'ru_RU.UTF-8\′
lc_monetary = 'ru_RU.UTF-8\′
lc_numeric = 'ru_RU.UTF-8\′
lc_time = 'ru_RU.UTF-8\′
Кто сталкивался — подскажите, пожалуйста, где я не прав? Вторую неделю рою документацию и все безтолку.
// Тему переместил(а) fly4life из форума «Общий по UNIX и open-source».
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1