0
我在查詢表格「post」;它的字段用戶名和內容是utf8中文。我需要將它們轉換爲big5以在Windows控制檯中打印。我的腳本無法編譯,報告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 2011-02-16 13:58:03