我從html文本區域輸入一個註釋值爲「£」並提交。並嘗試使用以下代碼插入到數據庫中,但它從UI中獲取一些垃圾值並顯示垃圾值,例如:如果我從文本區域輸入£,它將以£的形式出現。請告訴我如何解決這個問題。用於DB插入和使用perl抓取的拉丁字符
#!/usr/local/perl-5.20.1/bin/perl
use HTML::Entities;
my $str= $cgi->param('note');
$str=HTML::Entities::encode($str);
my $sth = $dbh->prepare("INSERT INTO notes VALUES (null,'FD',?,?)");
$sth->execute('1','2',time(),$str);
my $sth = $dbh->prepare("SELECT ATTuid, noteDate, content FROM notes WHERE requestType = ? AND requestID = ? ORDER BY noteDate ".$order);
$sth->execute('1','2');
if ($sth->rows() > 0) {
while (my @temp = $sth->fetchrow_array()) {
$temp[2] =~ s|'|\\'|g;
$html = '<br/>'.$temp[2];
}
您是否配置了$ dbh以UTF-8或其他編碼進行通信? – choroba
[編碼像英鎊(英鎊)拉丁字符的編碼使用Perl腳本編碼後拋出垃圾值](http://stackoverflow.com/questions/30392557/encoding-of-latin-characters-like-%c2% a3-pound-is-throwing-junk-value-after-encodin) – ThisSuitIsBlackNot
請不要多次詢問[同一問題](http://stackoverflow.com/q/30392557/176646)(這是第三個) 。即使您還沒有解決您的問題,您已經接受了第一個問題的答案。不要再次提出同樣的問題,請編輯您的原始帖子以澄清問題並解答留言者留下的問題。您可以通過使用「@用戶名」進行回覆來通知評論人員,例如, '@ ThisSuitIsBlackNot'。除非您的問題得到解決,否則不要接受答案。如果你還沒有得到滿意的答案,你可以發佈賞金來獲得更多的關注。 – ThisSuitIsBlackNot