【JPIERE-0451】ウィンドウからCSV形式でダウンロードした時の文字化け対応

ウィンドウのエクスポートアイコンから、CSV形式を選択してダウンロードして、そのままExcelでダウンロードすると日本語が文字化けします。

文字化け
文字化け

これは、不具合というわけではなく、iDempiereのエクスポートの処理で作成されるCSV形式のDataにはBOM(Byte Order Mark)の情報が付加されていないため、エクセルがファイルを開く時に文字コードを判断できないため文字化けが起きています。CSV形式のデータにBOMの情報は付加しても、付加しなくてもどちらでも良いとされており(一般的にはBOMの情報は付加しないUTF-8 without Signatureの場合が多いようです)、iDempiereの場合は不具合というよりは仕様と考えられます。

※BOMの情報が付加されている状態とはUTF-8 with Signatureです。BOMの情報が付加されていない状態とは、UTF-8 without Signatureの状態です。

 文字化けしないようにCSV形式でダウンロードしたファイルをエクセルで開くためには、ダウンロードしたCSV形式のファイルの拡張子を".txt"に変更し、エクセルにインポートする際に、UTF-8を指定しする事で文字化けを回避する事ができます。

 しかしながら、その作業は、ちょっとだけ面倒なので、JPiereではあらかじめBOMの情報を付加する事で、ダウンロードしたCSVファイルを直接エクセルで開いても、文字化けしないようにしました。

カスタマイズ情報

追加クラス

◆jpiere.base.plugin.org.adempiere.impexp.JPiereGridTabCSVExporter

iDempiereの標準のGridTabCSVExporterクラスにBOMを加える処理を加筆しただけ