• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

  • Автор темы Автор темы 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;
то все работает.
Кто знает в чем проблема?
 
В какой кодировке сохранен скрипт и в какой системе вы работаете?
 
все,все,все что можно было настроил на utf8. пишу под Linux Debian lenny
 
Во блин! Я то матерился, думал, что там еще под виндой не так.
Но когда в нормальной UNIX системе, с нормальной поддержкой utf8...
Даже не знаю, я бы конечно попробовал вам помочь, но воссоздать подобное поведение меня не получается.
*SORRY* Can't help.
 
проблема решена, перед конкатенацией строки из базы данных необходимо ее переконвертировать функцией Encode::decode('utf8',$string);
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab