码迷,mamicode.com
首页 > 其他好文 > 详细

Servlet中文乱码解决方法

时间:2016-12-03 20:44:10      阅读:176      评论:0      收藏:0      [点我收藏+]

标签:解决   中文   输出   字节流   res   文件名   区别   服务   row   

程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件。

字节流和字符流的区别:

在Java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。

在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,主要用来处理字节或二进制对象,字节流处理单元为1个字节,操作字节和字节数组;

在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成,主要用来处理字符或字符串,字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串。

这四个都是抽象类

使用字符流输出数字默认被认为是ASCII

response.getWriter().write(65); 显示结果是 A
response.getWriter().write(65 + ""); 线上方结果为 65

字节流输出中文:

//拿到输出字节流对象
ServletOutputStream sos = response.getOutputStream();
byte[] bs = "大家一起去请假!!!".getBytes("UTF-8");

//告诉服务端所用的编码,通知浏览器要查询的码表
response.setContentType("text/html;charset=UTF-8");

sos.write(bs);

字符流输出中文

public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("不流泪的机场");    
    }

下载中文文件名的文件

 

Servlet中文乱码解决方法

标签:解决   中文   输出   字节流   res   文件名   区别   服务   row   

原文地址:http://www.cnblogs.com/taiguyiba/p/6129225.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!