powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PL/PERL + DBI XBase
5 сообщений из 5, страница 1 из 1
PL/PERL + DBI XBase
    #35296144
rujet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаю вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
CREATE TYPE testrow AS
   (f1 text, f2 bytea, f3 text);
ALTER TYPE testrow OWNER TO postgres;

CREATE OR REPLACE FUNCTION testdbf()
  RETURNS SETOF testrow AS
$BODY$
use DBI;
my $dbh = DBI->connect("DBI:XBase:/home/user/test") or die $DBI::errstr;
my $sth = $dbh->prepare("select rn, listname from acatalog") or die $dbh->errstr();
   $sth->execute() or die $sth->errstr();
while ( $row = $sth->fetch)
{
    return_next({f1=>$row->[ 0 ],f2=>$row->[ 1 ], f3=>$row->[ 1 ]});
}
return undef;
$BODY$
  LANGUAGE 'plperlu' VOLATILE;
ALTER FUNCTION testdbf() OWNER TO postgres;
select * from testdbf();


Получаю

"001S";"\321\354\345\362\340 \360\340\361\365\356\344\356\342";""
"001T";"\312\340\360\362\356\367\352\340 \352\340\361\361\356\342\373\365 \360\340\361\365\356\344\356\342";""
"001U";"\312\355\350\343\340 \352\340\361\361\356\342\373\365 \360\340\361\365\356\344\356\342";""

Сама таблица, кодировка вин1251

001S Книга кассовых расходов
001T Книга целевых расходов
001U Книга фактических расходов

При этом латиница и цифры выходят нормально. Как одолеть русскую кириллицу?
...
Рейтинг: 0 / 0
PL/PERL + DBI XBase
    #35296281
Serik Akhmetov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем поле f2 типа bytea ? почему не text ?
...
Рейтинг: 0 / 0
PL/PERL + DBI XBase
    #35296338
гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что такое xbase ? в какой кодировке её драйвер возвращает данные ? какая кодировка кластера пж ? какая локаль процесса обслуживающего этот кластер ? какая версия и ос сервера пж ?
...
Рейтинг: 0 / 0
PL/PERL + DBI XBase
    #35296864
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот так что выводится ?
Код: plaintext
1.
select convert_from(f2, 'windows1251') from testdbf();


--
„Истина — это вовсе не то, что можно убедительно доказать, это то, что
делает всё проще и понятнее“ — Антуан де Сент-Экзюпери
...
Рейтинг: 0 / 0
PL/PERL + DBI XBase
    #35297859
rujet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Получилось, вот так. Select convert(f3,'windows1251','utf8') from testdbf() Спасибо за правильное направление. Я все в сторону перла смотрел) про постгресс не подумал)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PL/PERL + DBI XBase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]