我现在正在调试一个 Java servlet,它将几个字符串导出到一个 CSV 文件中。
它应该是非常标准的,只是对于简体中文字符串,它将在生成的 CSV 文件上显示为问号。
我用谷歌搜索了很多解决方案,这是我认为最合理的一个,我把它放在我的代码中:
response.setContentType("text/csv;charset=gb18030");
response.setCharacterEncoding("gb18030");
response.setHeader("Content-Disposition", "attachment;filename=Contacts.csv");
response.getWriter().write(returnString);
response.getWriter().flush();
response.getWriter().close();
但是,它不适用于我的情况。我已经用“UTF-8”替换了“gb18030”,仍然没有运气。
输入数据以下列方式出现:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
CsvExporter.writeCsvFile(dataRecordList, f_csvExportMappings, baos);
String returnString = new String(baos.toByteArray());
专家能否就类似问题提出一些建议?提前致谢。