File#open
を使用するときにファイルのエンコーディングを設定するにはどうすればよいですか?
UTF-16LEエンコーディングでファイルを出力する例を次に示します。
open("data.txt", "w:UTF-16LE")
Rubyは、記述している文字列のエンコーディングを調べ、必要に応じてトランスコードします。これは非常に詳細な ブログ投稿 優れた例でメカニズムを説明しています(「デフォルトの外部および内部エンコーディング」というセクションを参照してください)。
そのブログには、Rubyを使用した文字エンコードに関する たくさんのすばらしい情報 があります。これには Ruby1.8を使用したエンコードに関する投稿が含まれます 。
日本語のShiftJISエンコーディングを使用してページを読み取る方法は次のとおりです。
file = open(url, "r:Shift_JIS")