perl輸出中文有亂碼


測試文件的時候發現輸出中文有亂碼,所以學習了一下perl的Encode原理。現做一下總結:
perl的基礎知識:在Perl看來, 字符串只有兩種形式。一種是octets, 即8位序列, 也就是我們通常說的字節數組。另一種utf8編碼的字符串, perl管它叫string。 也就是說: Perl只認識兩種編碼: Ascii(octets)和utf8(string)。

所以輸出時候出現亂碼,應該把utf8編碼轉為用戶能夠接受的形式。例如中文用gb2312.

my $s=":<中文關鍵詞>=英國皇家學會;;《哲學匯刊》;;物理科學;;科學傳播.";

$a=$s=~/>=(.+)$/;

print encode('gb2312',$1)."\n"; #輸出英國皇家學會;;《哲學匯刊》;;物理科學;;科學傳播.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM