"post"테이블을 쿼리하고 있습니다. 해당 필드의 사용자 이름과 내용은 utf8 중국어입니다. Windows 콘솔에서 인쇄하려면 big5로 변환해야합니다. 내 스크립트가 컴파일되지 않아 ENCODE 루틴이 다시 정의된다는 오류가보고됩니다.perl 인 코드 qw/인 코드 디코드/다시 정의 Encode.pm
DBI를 사용하지 않고 인코딩/디코딩을 테스트 할 다른 스크립트가 있는데 제대로 작동합니다. 어떻게 해결할 수 있습니까?
스크립트 :
use DBI;
use strict;
use ENCODE qw /encode decode/;
my $dbh = DBI->connect("dbi:SQLite:dbname=tweetylicious.db","","",{sqlite_unicode => 1});
$dbh->do("PRAGMA foreign_keys = ON");
my $result_aref = $dbh->selectall_arrayref("SELECT * FROM post");
foreach my $user (@$result_aref) {
my $name = ${$user}[1];
my $content = ${$user}[2];
print encode("utf8", $name), " : ",$content, "\n";
}
오류 :
subroutine DEBUG redefined at path-to-lib/ENCODE.pm line 144
subroutine encoding redefined at path-to-lib/ENCODE.pm line 164
...
'ENCODE'를'Encode'로 수정하고 더미 테이블로 데이터베이스를 생성 한 후에는 프로그램을 실행할 수 있었지만 설명 된 오류가 발생하지 않았습니다. – daxim