RubyでCSVファイルを読み込む際にエラーが出ていたのでその解決策です。
エラー内容
RubyのCSV読み込み機能を使ったときに
”invalid byte sequence in Windows-31J (ArgumentError)”
とエラーが出てきた時は文字コードのエラーです。
解決策
読み込むファイルの文字コードを指定すればエラーが出なくなります。
具体的には
CSV.foreach(“csvfile.csv”, “r:UTF-8”) {|row| p row }
といった具合に文字コードを指定してやればOKのようです。
上記の例はUTF-8で記述されたファイルを読み込む場合です。
細かい話
このエラーはWindows特有かも。
早く世界中のテキストファイルがUTFで統一されればいいなぁ。
コメントを残す