2

CSVファイルの作成にはSuper CSVを使用しています。ウムラウト文字などの特殊文字を書き込んïだりî、生成された CSV を Excel で開いたりすると壊れます。Notepad++ を使用して同じファイルを開くと、ウムラウト文字が完全に表示されます。

何が原因でしょうか?UTF-8エンコーディングを指定しました。私が見逃しているものはありますか?

ICsvListWriter writer = new CsvListWriter(
    getWriter(getCUSTOMEREXPORT_FOLDERPATH()+filename),
    CsvPreference.STANDARD_PREFERENCE);

private static OutputStreamWriter getWriter(String fileName) {
  final File file = new File(fileName);
  return new OutputStreamWriter(new FileOutputStream(file),
      Charset.forName("UTF-8"));
}
4

1 に答える 1

3

Microsoft とその Excel は、UTF-8 にはあまりにも愚かです。Excel では、これが実際に UTF-8 であることを認識するために、バイト オーダー マークが厳密に必要です。それを追加すると動作します。

于 2013-12-10T11:48:07.250 に答える