我的問題很簡單。我想用我的Perl腳本輸出UTF-8。 此代碼無法使用。使用perl bug編寫utf8?
use utf8;
open(TROIS,">utf8.out.2.txt");
binmode(TROIS, ":utf8");
print TROIS "Hello\n";
輸出文件不是UTF-8。 (我的文件腳本使用UTF-8編碼) 但是,如果我在我的print
中插入加重字符,那麼它正在工作,我的輸出文件是UTF-8。例如:
print TROIS "é\n";
我在Windows下使用ActivePerl 5.10。可能是什麼問題?
你只寫了'Hello \ n'的ASCII字符。幸運的是,ASCII仍然是完全有效的UTF-8。但是,編輯器自動檢測很可能不會顯示UTF-8編碼,因爲它們沒有任何內容來判斷文件內容的編碼。我猜你根本不知道文件編碼是如何工作的。 –
謝謝你的解釋。 – user1903343
@Moritz:請將您的解釋作爲答案。 user1903343應該將其標記爲已接受,以便此問題不再顯示爲「未解決」。 – tripleee