🌊
Ruby CSVをshift-jisに変換メモ
# Shift_JISエンコードに変換
# CSVデータをUnicode正規化し、無効な文字や未定義文字を置換しながらShift_JISにエンコード
shifted_csv_data = csv_data.unicode_normalize(:nfc).encode(Encoding::SJIS, invalid: :replace, undef: :replace)
# フロントエンドで文字コードがUTF-8に戻ってしまう問題を回避するため、
# Base64エンコードしたデータを返却し、フロント側でデコードして使用する
base64_csv_data = Base64.strict_encode64(shifted_csv_data)
Discussion