gpt4 book ai didi

java - Android UTF-8 编码不起作用?

转载 作者:行者123 更新时间:2023-12-02 02:14:13 26 4
gpt4 key购买 nike

我现在正在处理 CSV 文件。在我的程序中,我使用 OutputStreamWriter 将数据写入 csv 文件。

OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut, Charset.forName("UTF-8").newEncoder());

我尝试打印出该作者的编码风格并得到以下结果:

Log.i(TAG, "BODY ENCODING: " + myOutWriter.getEncoding());
Logcat: BODY ENCODING: UTF-8

但是当我尝试在桌面上打开 csv 文件时,它说该文件位于 windows-1252 中,因此我无法读取我需要的 æøå 字符。

我在这里遗漏了一些明显的东西还是我不理解outputStreamWriter的概念?我尝试了不同类型的编码,但似乎不起作用:)

当我尝试在 Excel 中打开时: FilOprindelse = File Origin

最佳答案

您的文件实际上是 UTF-8 而不是 CP-1252。您的文本编辑器/查看器将其检测为 CP-1251(因为没有多字节字符)。您可以通过在文件开头添加字节顺序标记 (BOM) 来帮助编辑。即

static final byte[] UTF8_BOM = {0xEF,0xBB,0xBF};
...
fOut.write(UTF8_BOM);
OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut, Charset.forName("UTF-8").newEncoder());

关于java - Android UTF-8 编码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49520409/

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