対象はWindowsとみなし、SJISで。 モデルでCSVを作って、コントローラで文字コード変換。 コントローラ。format を使うんですね。 def index @projects = Project.all respond_to do |format| format.html # index.html.erb format.xml { render :xml => Project.all } format.csv { send_data NKF.nkf('-sW -Lw', Project.to_csv), :filename => 'projects.csv', :type => 'text/csv; charset=Shift_JIS' } end end nkf のオプションで改行コードを意識する。 モデル。ロジックはモデルにしました。 def self.to_csv head