2013-07-29 53 views
0

我在windows文件夾中有兩個文件。使用描述的技巧here我發現一個文件編碼是ANSI,另一個是UTF-8。在Windows中使用ruby進行文件編碼

不過,如果我打開CMD或PowerShell和嘗試獲得的編碼在IRB用下面的代碼我總是得到 「CP850」:

File.open(file_name).read.encoding.name # => CP850 

File.open(file_name).external_encoding.name # => CP850 

記事本++也給了我一個文件是ANSI,另一個文件是UTF-8。

如何在Windows中使用Ruby進行正確的編碼?

回答

0

不可能告訴文件是什麼編碼,但可以做出有根據的猜測。

當你打開一個文件時,ruby簡單地認爲它是用默認的8位編碼編碼的(在你的情況下是CP850)。

Detect encoding

What is ANSI format?約ANSI