Xpoint
   [напомнить пароль]

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

Метки: [без меток]
2009-05-05 02:00:51 [обр] amorphius[досье]
есть такой код
[code]
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";
[/code]
проблема в том, что строка, которую мы считали из базы, выведется иероглифами, зато если написать
[code]
print "Русская строка из базы данных: ";
print $a;
[/code]
то все работает.
Кто знает в чем проблема?
спустя 3 часа 37 минут [обр] AB...(10/233)[досье]
Как я понимаю, все идет в поток в кодировке UTF-8, а вот сам скрипт в тойже UTF-8 кодировке?
спустя 4 дня [обр] amorphius[досье]
проблема решена, перед конкатенацией строки из базы данных необходимо ее переконвертировать функцией Encode::decode('utf8',$string);
спустя 3 дня [обр] PoizOn(1/1)[досье]
>use utf8;
по моему лишнее...
если используете Encode, то тогда уж:
use Encode;
Powered by POEM™ Engine Copyright © 2002-2005