未だにShift_JIS 全盛の職場ですので、テキストデータを扱う場合は、当然文字コードの変換が必要になります。
Perl だと こんな感じでやっていたのですが、Ruby だと以下の様になります。
# ファイルパス FILE_PATH = './hoge.txt' # CP932(Shift_JIS)でファイルを開く File.open(FILE_PATH, encoding: Encoding::CP932) { |file| # 1行ずつ読み込み while row = file.gets # UTF-8に変換してから、改行除去 row_utf8 = row.encode(Encoding::UTF_8).chomp! # ここで行に対して行う処理を書く(例:カンマで分割) values = row_utf8.split(',') end # while row }
こんな感じ。