FasterCSV に初期設定を行うように修正を行う
#!/bin/env ruby
$KCODE='utf8'
require 'kconv'
require 'rubygems'
require 'fastercsv'
csv = 'sample.csv'
input_char_encoding = 'Shift-JIS'
output_char_encoding = 'UTF-8'
column_separeter = ", "
quote_character = '"'
header = false
def convert_char_encoding(encoding, data)
begin
case encoding
when 'jis'
return Kconv.tojis(data)
when 'Shfit-JIS'
return Kconv.tosjis(data)
when 'EUC-JP'
return Kconv.toeuc(data)
when 'UTF-8'
return Kconv.toutf8(data)
else
exit(1)
end
rescue SystemExit => e
p 'set invalid charcter encoding or nil.'
exit(0)
end
end
FasterCSV.foreach(csv, {:col_sep => column_separeter, :quote_char => quote_character, :headers => header}) do |row|
p row
row.each do |column|
if (input_char_encoding == output_char_encoding)
p column
else
p convert_char_encoding(output_char_encoding, column)
end
end
end