Servlet实现文件下载的编码问题 10

我用jsp+Servlet写了个文件下载的程序,把网页上的特定div里的内容保存成txt文件,但是保存下来的txt文件中中文都是问号,代码如下:publicvoiddoP... 我用jsp+Servlet写了个文件下载的程序,把网页上的特定div里的内容保存成txt文件,但是保存下来的txt文件中中文都是问号,代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException )
request.setCharacterEncoding("gb2312");
String value= request.getParameter("value");
String savingType=request.getParameter("btn");
String name="DefaultFileName.txt";
String filename=this.getServletContext().getRealPath("/")+"file"+File.separator+name;
File file=new File(filename);
if(!file.getParentFile().exists())
file.getParentFile().mkdir();
if(savingType.equals("save as")){ //这里是另存为到客户端 中文显示乱码
response.setContentType("text/txt");
response.setHeader("Content-Disposition", "attachment;filename=DefaultFileName.txt");
response.setCharacterEncoding("gb2312");
response.getOutputStream().write(value.getBytes());
}else if(savingType.equals("save")){
PrintStream ps= null; //这里是保存到服务器上 中文显示成问号
ps = new PrintStream(new FileOutputStream(file));
ps.println(value);
ps.close();
PrintWriter out =response.getWriter(); //这里的返回值value通过alert方法打印出来
out.print(value); //的时候中文显示正常
}

对编码不是很懂,希望给出的回答能详细点,最好有代码,谢谢
展开
 我来答
9uan6in
2013-11-19
知道答主
回答量:1
采纳率:0%
帮助的人:1440
展开全部
这里可能的问题是,页面部分的编码不是gb2312你可以在写页面代码时注意这些内容:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>....</title>
....
</head>
<body>
....

</body>
</html>
追问
页面部分的编码就是gb2312  刚刚忘了说了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-19
展开全部
根据网页的编码,相应解码、转码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式