@Orbite

Как победить кракозябры при вставке в бд PERL?

Получаю текст из бд для обработки в формате koi8r
my $sql= 'SELECT NAMB FROM spr_banks WHERE bik='.$bik.' AND off = 0 LIMIT 1';
        my $sth= $dbh->prepare($sql) or error('CANNOT_PREPARE', 'Не могу подготовить запрос '.(DEBUG ? $sql.':<br> '.$DBI::errstr : ''));
        $sth->execute or error('CANNOT_EXECUTE', 'Не могу выполнить запрос '.(DEBUG ? $sql.':<br> '.$DBI::errstr : ''));
        my $res= $sth->fetchrow_arrayref;


Потом его нужно вставить в другую таблицу, делаю:
my $name_bank= $res->[0]; 

            foreach my $m (@money_id){
                $sql="UPDATE arm_money SET number_bank_acc='$number_bank_account', name_bank='$name_bank', 
                          related_pay_info='$related_pay_info' WHERE LinkID= ".$m;
                $sth= $dbh->prepare($sql) or error('CANNOT_PREPARE', 'Не могу подготовить запрос '.(DEBUG ? $sql.':<br> 
                          '.$DBI::errstr : ''));     
                $sth->execute() or error('CANNOT_EXECUTE', 'Не могу выполнить запрос '.(DEBUG ? $sql.':<br> '.$DBI::errstr : '')); 
            }


но в бд вставляются непонятные символы ц╣ц╡ц║ц╛ц╦цЁц╚ц╘ц╙ ц╒ц║ц╝ц╚ цЁц╒ц╔ц╡ц╒ц║ц╝ц╚ц║ ц╡ц╕ ц╖.ц╔ц╚ц║ц╢ц╔ц╡ц╘ц╝ц╒ц╣ц╡ц╖

Везде кодировка koi8r и в таблицах и в скрипте. Уже все перепробовал, encode/decode, iconv, и т.д ничего не помогает, разве что одни кракозябры сменяются другими!
  • Вопрос задан
  • 116 просмотров
Пригласить эксперта
Ответы на вопрос 2
@vaajnur
битриксоид
не проще в настройках бд поставить кодировку utf8?
Ответ написан
Комментировать
@gangabass
В самом начале после подключения к БД:
$dbh->do(qq{SET NAMES 'utf8'}) or die $dbh->errstr;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы