rubyでのutf-8 -> cp932のエンコード
csv_str = CSV.generate({ encoding: 'cp932' }) do |csv| ...
↓
Encoding::UndefinedConversionError: U+FA4F from UTF-8 to Windows-31J
generate
では *undef
が使えないので
*undef
: 変換できない文字コードを任意の文字列に置換する(デフォルトで ?
なので、明示的に指定する必要あり?
str.encode("cp932", "UTF-8", :invalid => :replace, :undef=>:replace).encode("UTF-8", "cp932")