gpt4 book ai didi

java - 使用 utf-8 的 opencsv CSVWriter 似乎不适用于多种语言

转载 作者:搜寻专家 更新时间:2023-10-30 21:20:42 24 4
gpt4 key购买 nike

我在使用 opencsv 时遇到了一个非常烦人的编码问题。当我导出 csv 文件时,我将字符类型设置为“UTF-8”。

CSVWriter writer = new CSVWriter(new OutputStreamWriter("D:/test.csv", "UTF-8"));

但是当我用 Microsoft Office Excel 2007 打开 csv 文件时,结果发现它有 'UTF-8 BOM' 编码?

在记事本中保存文件并重新打开后,文件变回 UTF-8,并且其中的所有字母都显示正常。我想我搜索得够多了,但我还没有找到任何解决方案来防止我的文件变成“UTF-8 BOM”。有什么想法吗?

最佳答案

我想您的文件使用“UTF-8 without BOM”编码。您最好将 BOM 编码提供给您的文件,尽管在大多数情况下这不是必需的,但只有一个明显的异常(exception)是当您处理 ms excel 时。

FileOutputStream os = new FileOutputStream(file);
os.write(0xef);
os.write(0xbb);
os.write(0xbf);
CSVWriter csvWrite = new CSVWriter(new OutputStreamWriter(os));

现在您的文件将被 excel 理解为 utf-8 csv。

关于java - 使用 utf-8 的 opencsv CSVWriter 似乎不适用于多种语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10136343/

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