RubyのハッシュにCSVファイルを読み込むとき、SmarterCSVを利用すると1行で書けてとても便利です。
ただし、デフォルトではUTF-8としてファイルが読み込まれます。
しかし、Windowsで作成されたCSVだとエンコーディングが'cp932'1になっていることもありますので、明示的にcp932を指定して読み込む必要があります。2
その指定方法を調べるのに10分ほどかかってしまったので、メモしておきます。
code
require 'smarter_csv'
csv_hash = SmarterCSV.process(filepath, {file_encoding: 'cp932'})
参考
https://www.rubydoc.info/github/tilo/smarter_csv
https://stackoverflow.com/questions/30085334/smartercsv-and-file-encoding-issues-in-ruby