java - CSV 转换无法识别特殊字符

标签 java eclipse csv

问题就在这里。我有一个 java 程序,可以将 XML 转换为 CSV。我的 xml 中的元素标签之一如下所示。

<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();

最佳答案

Excel 默认使用 Windows-1252。因此,如果您想在 Excel 中读取 CSV,请使用

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "Windows-1252"));

关于java - CSV 转换无法识别特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19641369/

相关文章:

Eclipse 设置详细 :class Flag for Launch Configuration

eclipse - 以不同用户身份在 Eclipse 中运行 Tomcat

Python打开动态变化的文件路径

readr::read_csv() 不读取日期并返回 NA

vba - 如何逐行解析WinHTTP响应: UTF-8 encoded CSV?

java - 追踪第二代java应用引擎

java - 在 Java 中从 Excel xlsx 转换为 xls

使用 FileFilter 的 JavaFX 过滤器 ListView 文件元素

java - 使用Java api调用Kubernetes Spark Operator

Android通过eclipse添加库灰显