如何在Ruby中指定输出文件的编码?

如何在使用File#open时设置文件的编码?

以下是一个以UTF-16LE编码输出文件的例子:

 open("data.txt", "w:UTF-16LE") 

Ruby会查看您正在编写的string的编码,并根据需要进行转码。 这里有一个非常详细的博客文章,描述具有优秀示例的机制(参见“默认的外部和内部编码”部分)。

这个博客还有一些关于Ruby编码的很好的信息 ,包括一篇关于Ruby 1.8编码的文章 。

以下是用日文Shift JIS编码读取页面的方法:

  file = open(url, "r:Shift_JIS")