🌊

Ruby CSVをshift-jisに変換メモ

2025/01/08に公開
    # 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