[Ruby]CSVファイルのエンコードをsjisに指定する

日本語の場合、CSVのファイルエンコードをShift JISにする要件がけっこうあると思います。
RubyのCSVライブラリは、encodingというオプションが用意されており、encoding: ’sjis’ のようにファイルエンコーディングを指定できます。

1
2
3
4
require 'csv'
CSV.open("hoge.csv", "wb", encoding: 'sjis') do |csv|
csv << ["ID", "担当者", "メールアドレス"]
end

nkfコマンドを使ってファイルエンコーディングを確認します。

1
2
nkf -g hoge.csv
Shift_JIS

Shift_JISで作成されていることが確認できました。