• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

amorphius

есть такой код
Код:
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

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

amorphius

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

Vovochka

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

amorphius

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!