質問: ### 前提・実現したいこと タイトル通りの質問です。"name" ←をカーソルで動かしていると、 間に一個分見えない文字があるかのような挙動になります。 Windowsのメモ帳で作ったサンプルのCSVファイルをインポートする機能を作っていたんですが、 "name"の表記が変なのでバリデーションに引っかかってしまいます。 多分メモ帳の冒頭になんかあるんだと思いますが、自分では確認できませんでした。 どうすればいいでしょうか?以下エラーのコンソールです。 ### 発生している問題・エラーメッセージ ``` >> row => # >> row.to_hash => {"name"=>"餃子を作る", "description"=>"160個作ります", "created_at"=>nil, "updated_at"=>nil} >> row.to_hash.slice("name", "description", "created_at", "updated_at") => {"description"=>"160個作ります", "created_at"=>nil, "updated_at"=>nil} >> row.to_hash.slice("name", "description", "created_at", "updated_at") => {"name"=>"餃子を作る", "description"=>"160個作ります", "created_at"=>nil, "updated_at"=>nil} ↑ 一つ目のrow.to_hash.sliceの引数は直打ち、二つ目は二行目のCSV::Row以後の"name"をコピペした結果です。 ```
回答: メモ帳で作ったcsvとのことで、 ゼロ幅空白(`zero width no-break space`)がBOMとして先頭に置かれているのかと思います。 CSVを開く時にencode指定をしてください