📺

GAS で Shift-JIS の CSV を処理する

2022/08/11に公開

概要

GASはUTF-8なので、Shift-JISのCSVを開くと、
一部の漢字 (おそらく第3水準漢字以上) が文字化けしてしまう問題の解消方法。

経緯

ほんとShift-JISこの世から消えてほしい今日このごろです。
とあるシステムから吐き出されるShift-JISのCSVファイル2つを突合処理し、
一定のルールで分割し、また Shift-JISのCSVファイルとしてGoogle Drive上に吐き出す処理の要望が社内からありGASを組みました。

髙(はしご高)などが?になってしまうじょうきょう。
エクスポートする段階で化けるのかと思ったらそもそもGASで読み込んだ時点で文字化けしていた。

解決策

こちらの記事のおかげで解決しました!
山の日も仕事してる人間に最大の幸福を与えてくれました。本当に感謝です。
GASでSJIS変換 – NTS株式会社

読み込み時も吐き出すときも文字エンコードの指定を Shift-JIS の代わりに MS932 を指定。
これだけです。

MS932 で出力したCSVを Shift-JIS 指定で開いても文字化けしません!

// import
file.getBlob().getDataAsString("MS932");

// export
Utilities.newBlob("", MimeType.CSV, 'test.csv').setDataFromString(rawCsv, 'MS932');

Discussion