在windows中使用ruby进行文件编码

时间:2013-07-29 17:32:24

标签: ruby encoding

我在Windows文件夹中有两个文件。使用here描述的技术,我发现一个文件编码是ANSI,另一个是UTF-8。

但是,如果我打开cmd或Powershell并尝试使用以下代码在IRB中获取编码,我总是得到“CP850”:

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

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

Notepad ++还给我一个文件是ANSI,另一个是UTF-8。

如何在Windows中使用Ruby获得正确的编码?

1 个答案:

答案 0 :(得分:0)

无法判断文件的编码是什么,但可以做出有根据的猜测。

当你打开一个文件时,ruby只是假设它是用默认的8位编码编码的(在你的情况下是CP850)。

请参阅Detect encoding

关于ANSI的

What is ANSI format?