当前位置: 首页 > 面试题库 >

在Java和CSV文件中设置UTF-8

景翰音
2023-03-14
问题内容

我正在使用此代码通过OpenCSV将波斯语单词添加到csv文件中:

String[] entries="\u0645 \u062E\u062F\u0627".split("#");
try{
    CSVWriter writer=new CSVWriter(new OutputStreamWriter(new FileOutputStream("C:\\test.csv"), "UTF-8"));

    writer.writeNext(entries);
    writer.close();
}
catch(IOException ioe){
    ioe.printStackTrace();
}

当我在Excel中打开生成的csv文件时,它包含 “ứỶờịỆ” 。其他程序(例如notepad.exe)没有此问题,但是我所有的用户都在使用MS
Excel。

与更换OpenCSV SuperCSV不解决这个问题。

当我手动将波斯字符输入到csv文件中时,我没有任何问题。


问题答案:

不幸的是,CSV是一种非常特殊的格式,没有元数据,也没有要求灵活编码的实际标准。只要使用CSV,就不能可靠地使用ASCII以外的任何字符。

您的选择:

  • 写入XML(如果正确执行,它确实具有编码元数据),并让用户将XML导入Excel。
  • 使用Apache POI创建实际的Excel文档。


 类似资料:
  • 我在几个小时的研究后发布了这个(几次...)。我还找不到任何答案。 我的目标是使用PHP编写一个CSV文件。这个文件必须有中文ANSI编码(我想简体中文是GB2312,在记事本中我只看到ANSI编码)。必须导入到另一个工具。 【重要提示】 我们目前正在转换一个带有记事本的文件和一台默认语言为中文的PC。这个过程是: 从web-app获取UTF8 CSV 保存为CSV与Excel 2003在中国PC

  • 我用node.js生成一个utf-8编码的csv,然后在windows上双击打开它。Excel会启动,但某些特殊字符(如`、`、ü、ä、ö、ü...)无法正确显示。我想这是由于错误的编码。我保存了一个用Excel创建的新csv。我看到编码是Windows-1252。

  • 我是ServiceStack的新手。它具有为数据提供csv文件的功能,但我需要以UTF8格式下载它,因为我得到一些特殊字符。我尝试过这个配置设置。 但运气不好。。请指出我做错了什么。

  • 问题内容: 我有一个PHP脚本,名为: http://cyber- flick.com/apiMorpho.php?method=getMorphoData&word=kot 以纯文本显示一些数据: 如您所见,在适当的字符位置上有很多“忙碌”。我想做的是以某种方式显示此内容,以便人们在浏览器中看到正确的UTF-8字符。 您可以将其封装在HMTL标签中并以元UTF-8编码进行设置,但是由于将从该脚本

  • 问题内容: 问题-设置Firefox配置文件后,Firefox在下载CSV文件时一直询问下载位置。请帮忙。 问题答案: 我看不到您的代码中的任何重大问题。但是,当你的等级不记得添加所有相关的CSV类型的文件在此提到的网站。 这是您自己的代码块,其中添加了一些简单的调整: 我已经在此站点和Microsoft 网站上验证了我的代码,并且在我看来效果很好。

  • 问题内容: 我尝试在Java中删除csv文件中的列。 例如,我有这个csv文件 我想要下一个操作后:(删除csvFile,2)将是: 我发现只有调用行而不是列的操作。 问题答案: 删除CSV文件中一列的唯一方法是删除整个文件(即文件的每一行)的标题和该列的信息。即使您使用第三方库,它也会在内部进行。