Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / plperl & utf8 / 2 сообщений из 2, страница 1 из 1
15.01.2007, 15:13
    #34256002
vadiml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
plperl & utf8
почему-то не работает перекодировка на перле при utf8 в базе:
функция получает строку на русском, перекодирует в латинские буквы и возвращает ее
если
Код: plaintext
1.
2.
3.
4.
5.
CREATE OR REPLACE FUNCTION rus2lat(text) RETURNS text AS $$
    my $strs = shift;
    strs =~ tr/слов/slov/;
    return $strs;
$$ LANGUAGE plperl;
то из 'слово' получаю 'nmayayaeay' (здесь, возможно, правильно, т.к. в консоли получается то же самое, хотя хотелось бы чтоб utf8 подхватывало сразу, т.к. база создавалась с ENCODING 'UTF8')
но вот когда прописываю use utf8 -- ????
Код: plaintext
1.
2.
3.
4.
5.
6.
CREATE OR REPLACE FUNCTION rus2lat(text) RETURNS text AS $$
    use utf8;
    my $strs = shift;
    strs =~ tr/слов/slov/;
    return $strs;
$$ LANGUAGE plperlu;

на выходе вместо 'slovo' получаю 'Ñлово'
хотя при запуске в консоли -- перекодирует нормально

системная локаль -- тоже utf8
Где копать -- не знаю.
...
Рейтинг: 0 / 0
26.01.2007, 22:32
    #34286881
vadiml
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
plperl & utf8
сам нашел (случайно):
обновил базу с 8.0.8 до 8.1.6 -- и все заработало
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / plperl & utf8 / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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