• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

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