Проблема с юникодом

Тема в разделе "Perl программирование", создана пользователем amorphius, 5 май 2009.

Статус темы:
Закрыта.
  1. amorphius

    amorphius Гость

    есть такой код
    Код (Text):
    use strict;
    use utf8;
    use DBI;
    ....
    my $dbh = DBI->connect....
    $dbh->do("set names utf8");
    $sth = $dbh->prepare("select a from b where c=1");
    $sth->execute;
    $a = $sth->fetchrow_array();
    print "Русская строка из базы данных: $a";
    проблема в том, что строка, которую мы считали из базы, выведется иероглифами, зато если написать
    Код (Text):
    print "Русская строка из базы данных: ";
    print $a;
    то все работает.
    Кто знает в чем проблема?
     
  2. Vovochka

    Vovochka Гость

    В какой кодировке сохранен скрипт и в какой системе вы работаете?
     
  3. amorphius

    amorphius Гость

    все,все,все что можно было настроил на utf8. пишу под Linux Debian lenny
     
  4. Vovochka

    Vovochka Гость

    Во блин! Я то матерился, думал, что там еще под виндой не так.
    Но когда в нормальной UNIX системе, с нормальной поддержкой utf8...
    Даже не знаю, я бы конечно попробовал вам помочь, но воссоздать подобное поведение меня не получается.
    *SORRY* Can't help.
     
  5. amorphius

    amorphius Гость

    проблема решена, перед конкатенацией строки из базы данных необходимо ее переконвертировать функцией Encode::decode('utf8',$string);
     
Загрузка...
Похожие Темы - Проблема юникодом
  1. c0de3r
    Ответов:
    5
    Просмотров:
    113
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    132
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    120
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102
Статус темы:
Закрыта.

Поделиться этой страницей