gpt4 book ai didi

java - ö CSV 文件创建中的字符编码问题

转载 作者:行者123 更新时间:2023-11-29 07:48:00 26 4
gpt4 key购买 nike

我正在尝试从我的 Java 代码创建一个 CSV 文件。

    File file = File.createTempFile("DummyReport", ".csv");
SomeListofObjects items = getSomeList();
FileUtils.write(file, "ID;CREATION;" + System.lineSeparator());
FileUtils.writeLines(file, activities.getItems(), true);
return file;

我遇到了一些特殊字符的问题。

当我调试代码时,我发现我有一个字符为“ö”。但是在生成的 csv 文件中,它出现了奇怪的“ö”。

我们可以在 FileUtile 或 File 中设置它吗?有人可以帮我解决这个问题吗?

最佳答案

首先检查您使用的文本查看器是否能正确显示您的输出。如果不是,问题可能出在您的系统编码上。

FileUtils.write(file, string) 使用默认的系统编码,在您的系统中似乎是 8bit。然而,“ö”字符被编码为两个字节,结果为“ö.”。

改为使用 FileUtils.write(File file, CharSequence data, String encoding),并使用适当的编码:

  • ISO 8859-1(8 位标准,Latin-1)
  • CP1252(8 位专有,Windows 默认,扩展 Latin 1)
  • MacRoman(8 位专有,Apple 默认)
  • UTF-8(16 位标准,Linux 默认)
  • Latin-15(并非始终支持)

我的建议是使用 FileUtils.write(file, string, "UTF-8")

关于java - ö CSV 文件创建中的字符编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23783165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com