[英]Perl on Windows: Problems with Encoding
我的Perl腳本有問題。 在類UNIX系統中,它會將所有Unicode字符(如ä
正確打印到控制台。 在Windows命令行中,字符被破壞為無意義的字形。 有一種簡單的方法可以避免這種情況嗎? 我正在use utf8;
。
提前致謝。
use utf8;
只是告訴Perl您的源是使用UTF-8編碼的。
它也不適用於unix。 有些字符串無法正確打印( print chr(0xE9);
),大多數字符串會打印“寬字符”警告( print chr(0x2660);
)。 您需要解碼輸入並對輸出進行編碼。
在unix系統中,這是通用的
use open ':std', ':encoding(UTF-8)';
在Windows系統中,您需要使用chcp
來查找控制台的字符頁面。 (437對我來說。)
use open ':std', ':encoding(cp437)'; # Encoding used by console
use open IO => ':encoding(cp1252)'; # Encoding used by files
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.