Java Servlet生成的CSV:始终编码;“未定义”;

Java Servlet生成的CSV:始终编码;“未定义”;,java,google-app-engine,servlets,encoding,Java,Google App Engine,Servlets,Encoding,我正在我的Javaservlet中创建一个CSV文件 我正在将所有内容设置为UTF-8: response.setContentType("text/csv;charset=UTF-8"); response.setCharacterEncoding("UTF-8"); response.setHeader("Content-Disposition", "attachment; filename=\"shippingInfosForDHLImport.csv\""); 如果我在浏览器中访问se

我正在我的Javaservlet中创建一个CSV文件

我正在将所有内容设置为UTF-8:

response.setContentType("text/csv;charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.setHeader("Content-Disposition", "attachment; filename=\"shippingInfosForDHLImport.csv\"");
如果我在浏览器中访问servlet并下载文件,特殊情况会被破坏,如果我在sublime中打开文件并在控制台上键入:“view.encoding()”,它会显示:

"u'Undefined'"
servlet在google app engine上运行,我正在将文件下载到Mac上

如果我在本地运行servlet。一切正常,升华中的编码显示为UTF-8(即使我删除了代码中的UTF-8设置)


如果代码在App engine上运行,如何正确获取文件的编码?是否可以设置其他配置参数?

我通过将CSV内容写入PrintWriter解决了此问题:

response.getWriter().write(result);
而不是输出到OutputStream:

response.getOutputStream().write(result);