本記事で分かること
- DX Suite のCSV出力におけるShift-JISの実際の文字コードについて
- CSVファイルで文字化けが発生する原因と対処方法
- 安定したCSV利用のための推奨設定
よくあるケース
- Pythonなどで「Shift-JIS」指定でCSVファイルを開くとエラーが発生する
- ExcelでCSVファイルを開いた際に文字化けが発生する
- 特定の文字(第三水準漢字や外字など)が表示されない、または「?」に置き換わる
解説
DX Suite でCSVダウンロード時に文字コードを「Shift-JIS」として指定した場合、実際にはMicrosoftが拡張した「MS932(CP932)」という文字コードで出力されます。
一般的な「Shift-JIS」と「MS932(CP932)」は互換性がありますが、一部の文字(第三水準漢字や外字など)の扱いに違いがあります。
この違いにより、一般的な「Shift-JIS」としてデコードしようとすると、エラーや文字化けが発生することがあります。
設定方法
CSV出力で文字化けが発生する場合は、以下のいずれかの方法で対処してください。
-
CSVファイルを読み込むソフトウェア側で文字コードを「CP932」または「MS932」に指定する
- Pythonなどのプログラミング言語でCSVファイルを読み込む際は、エンコーディングを「CP932」または「MS932」と明示的に指定してください。
- Excelなどの表計算ソフトで開く場合は、インポート時に文字コードを「CP932」または「Shift-JIS(Windows)」として指定できるかご確認ください。
-
DX Suite でCSV出力時に文字コードを「UTF-8」で再出力する
- CSVダウンロード画面で、文字コードの選択肢から「UTF-8」を選択して出力してください。
確認してほしいポイント
- 出力されたCSVファイルをメモ帳などのテキストエディタで開き、文字化けがないか確認する
- CSVファイルを読み込むソフトウェア側で文字コードを「CP932」に変更し、正しく表示されるか確認する
補足
-
例外・注意
Shift-JIS系(MS932含む)の文字コードでは、一部のUnicode文字が「?」に置き換わることがあります。これは文字コードの仕様によるものです。 -
安定した利用のためUTF-8の使用を推奨
DX Suite では、より多くの文字を正確に表現でき、国際的な互換性も高い「UTF-8」でのCSV出力をおすすめします。