簡體   English   中英

Windows上的Perl:編碼問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM