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

  • Автор темы amorphius
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

amorphius

Гость
#1
есть такой код
Код:
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";
проблема в том, что строка, которую мы считали из базы, выведется иероглифами, зато если написать
Код:
print "Русская строка из базы данных: ";
print $a;
то все работает.
Кто знает в чем проблема?
 
V

Vovochka

Гость
#2
В какой кодировке сохранен скрипт и в какой системе вы работаете?
 
A

amorphius

Гость
#3
все,все,все что можно было настроил на utf8. пишу под Linux Debian lenny
 
V

Vovochka

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

amorphius

Гость
#5
проблема решена, перед конкатенацией строки из базы данных необходимо ее переконвертировать функцией Encode::decode('utf8',$string);
 
Статус
Закрыто для дальнейших ответов.