JSP/SSH实现生成csv文件下载,生成的csv如何转换为ANSI编码?

问题描述

环境如下,eclipse,工程的编码设置为utf-8。现在的实现是先生成utf-8编码的csv文件,然后供下载。问题是,客户需要这个csv文件是ANSI编码的?我该在服务器端如何改代码?生成csv文件内容的部分代码如下try{byte[]bom=newbyte[]{(byte)0xEF,(byte)0xBB,(byte)0xBF};FileWriterwriter=newFileWriter(csvFile,false);Stringstr=newString(bom)+buildCsvLines();writer.write(str);writer.close();}catch(IOExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}我的用的是struts的DownloadAction做的下载请求处理。核心部分如下:protectedStreamInfogetStreamInfo(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{//TODOAuto-generatedmethodstubcsvService.exportPurchaseOrders(target);//这里生成临时csv文件以提供下载response.setCharacterEncoding("UTF-8");response.setHeader("Content-Disposition","attachment;filename="+relative);Filefile=newFile(target);StreamInfosi=newFileStreamInfo("application/vnd.ms-excel;",file);returnsi;}现在的临时办法是下载了csv文件后,用记事本打开,然后点击另存为,会看到编码方式是utf-8,然后选择ANSI,点击保存。就成了ANSI编码的了。用excel打开也能正常显示中文。请教我如何把通过记事本另存为ANSI的方式在程序里实现?该在哪里改?我试过newString(str.getBytes("utf-8"),"gb2312")的方式转换utf-8的字符串为gb2312的编码,但生成的文件里全是乱码,无法正常显示中文。高人指教

解决方案

解决方案二:
Stringname="VisualC%2B%2B";name=java.net.URLDecoder.decode(name,"UTF-8");//转换成UTF-8的格式System.out.println(name);

解决方案三:
顶起来,没有人吗?
解决方案四:
该回复于2011-04-29 09:41:16被版主删除
解决方案五:
直接就用UTF-8不行吗?为什么非要转成ansi
解决方案六:
response.setHeader("content-Disposition","attachment;filename="+newString(filename.getBytes(),"iso-8859-1"));
解决方案七:
是内容要编码成Ansi,不是文件名
解决方案八:
顶起来,高手回答下
解决方案九:
CSV实际也就是文本文件,这个在写入文件时可以指定文本编码格式的。可以参考下面页面中的代码:BufferedWriterwriter=null;Filefile=newFile("E://wwwroot/download/csv/myCsvFile.csv");try{writer=newBufferedWriter(newOutputStreamWriter(newFileOutputStream(file,false),"GBK"));writer.write(strCsvContent);}finally{if(writer!=null){writer.close();}}

时间: 2024-09-22 22:42:46

JSP/SSH实现生成csv文件下载,生成的csv如何转换为ANSI编码?的相关文章

ssh框架web,自动生成hbm.xml和实体类

问题描述 ssh框架web,自动生成hbm.xml和实体类 ssh框架web,数据库由MySQL变oracle,myeclipse自动生成hbm.xml和实体类,Injection of resource dependencies failed.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'BHZControl': Injection of resource depe

Ajax 生成流文件下载(

使用Ajax生成流文件下载的功能,可以使用隐藏form的方式.需要的朋友可以参考下   复制代码 代码如下: // 绑定导出按钮     $("#btnExport").clickCheckLogin(function () {         var form = $("<form>");         form.attr('style', 'display:none');         form.attr('target', '');      

EpPlus读取生成Excel帮助类+读取csv帮助类+Aspose.Cells生成Excel帮助类

大部分功能逻辑都在,少量自定义异常类和扩展方法 ,可用类似代码自己替换 //EpPlus读取生成Excel帮助类+读取csv帮助类,epplus只支持开放的Excel文件格式:xlsx,不支持 xls格式 /* ============================================================================== * 功能描述:EppHelper * 创 建 者:蒲奎民 * 创建日期:2016-07-21 14:30:35 * CLR Ver

jsp读取CSV文件如何替换csv文件?

问题描述 jsp读取CSV文件如何替换csv文件? 我遇到一个问题,csv文件内容如下: car118499ActivePreActivecar2ActivePreActivecar321138Active40712PreActivecar4ActivePreActive 我想在jsp中显示 car1 car2 car3 car418499 21138 40712

java-求帮助,如何关闭Eclipse生成类时自动生成的构造方法

问题描述 求帮助,如何关闭Eclipse生成类时自动生成的构造方法 我这找了好长时间实在是不知道在哪里设置,哪位好心人帮忙回答一下呗 解决方案 eclipse中创建java类的时候:去掉Constructors from superclass前面的勾选 解决方案二: http://developer.51cto.com/art/200906/132322.htm 解决方案三: 你这个是什么版本的?还有如此功能. 解决方案四: 解决方案五: 创建是,去掉Constructors from supe

itextsharp 来生成-iTextSharp 来生成PDF

问题描述 iTextSharp 来生成PDF C# 生成pdf 用 iTextSharp pdfTable 中有个 pdftable 由于第二个表数据太多就直接下页显示了 结果 第一个页面就显示半页 怎么才能让第一页显示满 再在第二页显示

PHP实现数据导入、CSV文件下载的例子

导入.导出CSV文件  代码:  代码如下 复制代码 class csv {  private $resource;  /**   * @param string $fileName 文件路径   * @param string $mode     文件访问类型:w:写入.r:只读   */  public function __construct($fileName, $mode)  {   $this->resource = fopen($fileName, $mode);  }  publ

JSP隐含对象response实现文件下载的两种方法_JSP编程

一.JSP隐含对象response实现文件下载的介绍 (1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源,用户单击超链接后直接下载资源,但直接暴露资源的URL 也会带来一些负面的影响,例如容易被其它网站盗链,造成本地服务器下载负载过重. (2)另外一种下载文件的方法是使用文件输出流实现下载,首先通过response报头告知客户端浏览器,将接收到的信息另存 为一个文件,然后用输出流对象给客户端传输文件数据,浏览器接收数据完毕后将数据另存为文件,这种下载方法的优点是服 务器端资源路径的

JSP隐含对象response实现文件下载_JSP编程

一.简单介绍JSP隐含对象response实现文件下载 (1)在JSP中实现文件下载最简单的方法是定义超链接指向目标资源,用户单击超链接后直接下载资源,但直接暴露资源的URL也会带来一些负面的影响,例如容易被其它网站盗链,造成本地服务器下载负载过重. (2)另外一种下载文件的方法是使用文件输出流实现下载,首先通过response报头告知客户端浏览器,将接收到的信息另存为一个文件,然后用输出流对象给客户端传输文件数据,浏览器接收数据完毕后将数据另存为文件,这种下载方法的优点是服 务器端资源路径的保