2

これが問題です。XMLを に変換するJava プログラムがありCSVます。私のxmlの要素タグの1つを以下に示します。

<person-name>Greg kaménez</person-name>.

私のパーサーはそれを正しく解析できます。しかし、変換後、これを csv ファイルに書き込んで mcsft Excel で開くと、"Greg kaménez"Greg kaménez ではなくセル値として表示されます。

また、Eclipse IDE 内のテキスト エディターで同じ csv ファイルを開くと、名前が正しく表示されることにも気付きましたGreg kaménez

文字列をcsvに書き込んでいるスニペットは次のとおりです。

    String csv = ""x","y","Greg kaménez","z"";
    String fileName = "output.csv";
    File csvFile = new File(fileName);
    String jobId = null;
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "UTF-8"));
    writer.append(csv);
    writer.close();
4

2 に答える 2

1

CSVファイルには、書き込みに使用した文字エンコーディングを指定する方法がないため、テキスト エディターや Excel などのプログラムは、読み取り時にエンコーディングを推測するか、システムの既定値を使用する必要があります。

テキスト エディターで文字を正しく表示できる場合は、すべて正しく実行されている可能性がありますが、Excel は文字エンコードを正しく推測していません。

ファイルを Excel にインポートすると、元のエンコードを指定するよう求められます。適切な値を選択すると、ファイルを正しく読み取ることができるはずです。

于 2013-10-28T17:54:40.407 に答える