程序使用的是 strust 框架,在 action 中先用“PrintWriter”在服务器端生成原始文件,再用“BufferedInputStream”读取原始文件内容,然后使用“ServletOutputStream”在客户端生成最终的文件。在程序中使用了过滤类将request和response的编码都转换成了“UTF-8”,但文件生成后的编码是“gb2312”的,很是郁闷,使用的工具是 Eclipse + MyEclipse插件,希望大家帮着分析分析到底是什么原因

解决方案 »

  1.   

    将request和response的编码都转换成了“gb2312”,
      

  2.   

    to: greatzheng(达不溜西)我需要的是生成在客户端的文件编码是“UTF-8”的,怎么能将 request 和 response 多转成“gb2312”呢?  不理解
      

  3.   

    to zcm790619(魔鬼代言人):
        这和tomcat的设置有什么关系呢?能说的详细些吗?
      

  4.   

    关注中 我也是有过这样的问题 楼上的给点建议 我也用了 servlet中我也是 request和response全改了 包括jsp页面中 可是就是有乱麻 郁闷
      

  5.   

    在Eclipse工具的编辑菜单有个设置编码,选择其他,改成UTF-8试试,或者改成GBK,不行的话我就不知道了,呵呵
      

  6.   

    to: QQ373141371() 试过了,不灵。那个是设置eclipse编辑文件使用的编码。与程序应该没有关系。我想还是应该在程序里找原因吧!咳,郁闷。
      

  7.   

    tomcat默认编码是ISO8895-1编码。eclips环境一般用utf-8编码。也不知道你代码这么写的。这么帮你呀。把源码贴出来吧。
      

  8.   

    在你的jsp文件中加上<%@ page language="java" pageEncoding="GBK" %>
      

  9.   

    resp.setContentType("application/octet-stream; charset=ISO8859_1"); 
    resp.setHeader("Content-disposition","attachment;filename="+ new String((fileName+".pdf").getBytes(ENCODING), "ISO8859_1"));ENCODING设置为你页面设置的编码类型