5
當我從MySQL數據庫中提取數據時,某些輸出在打開時會有特殊字符 。 emacs解碼爲\240
和\346
。如何將特殊字符轉換爲UTF-8?
當在UTF-8終端所示,特殊字符被示出爲�
所以使用的編碼接縫只使用每個字符1個字節。
我可以例如看到\346
應該是æ
。
問題
還包括Perl具有能夠編碼這些特殊字符以UTF-8的模塊?
當我從MySQL數據庫中提取數據時,某些輸出在打開時會有特殊字符 。 emacs解碼爲\240
和\346
。如何將特殊字符轉換爲UTF-8?
當在UTF-8終端所示,特殊字符被示出爲�
所以使用的編碼接縫只使用每個字符1個字節。
我可以例如看到\346
應該是æ
。
問題
還包括Perl具有能夠編碼這些特殊字符以UTF-8的模塊?
使用Encode::decode
來解碼您的數據從它的任何編碼到Perl的內部格式。
然後,寫出到文件中的數據時,設置'utf8'
層以使數據以UTF-8寫入。
use Encode;
my $data_from_database = ...;
my $perl_data = decode('ISO-8859-1', $data_from_database);
binmode STDOUT, ':utf8';
print $perl_data;
http://blog.jonnay.net/archives/820-Emacs-and-UTF-8-Encoding.html? – 2012-03-09 15:51:37
問題不在於emacs。我希望Perl將內容編碼爲UTF-8。 – 2012-03-09 15:58:13
你有沒有設置終端來顯示utf-8? – 2012-03-09 16:05:32