HttpServletResponse输出的中文乱码

HttpServletResponse输出有两种格式,一种是字符流,一种是字节流。

1.字符流

     // 这句话的意思,是让浏览器用utf8来解析返回的数据,即设置客户端解析的编码
        response.setContentType("text/html; chartset=UTF-8");
        //这句话的意思,是告诉servlet用UTF-8转码,而不是用默认的ISO8859 ,即服务端对中文的编码
        response.setCharacterEncoding("UTF-8");
        PrintWriter printWriter = response.getWriter();
        printWriter.print("中文");

2.字节流

     // 这句话的意思,是让浏览器用utf8来解析返回的数据,即设置客户端解析的编码
        response.setHeader("Content-type", "text/html;charset=UTF-8");
        // response.setContentType("text/html; chartset=UTF-8");  //尝试使用这个设置“Content-type”未成功
        String data = "中文";
        OutputStream ps = response.getOutputStream();
        // 这句话的意思,使得放入流的数据是utf8格式
        ps.write(data.getBytes("utf-8"));

参考:

http://blog.csdn.net/kontrol/article/details/7767983

时间: 2024-10-12 13:07:20

HttpServletResponse输出的中文乱码的相关文章

解决HttpServletResponse输出的中文乱码问题

首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出“中国",给输出流的必须是转换为utf-8的“中国”,还要告诉浏览器,用utf8来解析数据 //这句话的意思,是让浏览器用utf8来解析返回的数据 response.setHeader("Content-type", "text/html;charset=UTF-8"); S

[转] 解决HttpServletResponse输出的中文乱码问题

首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite. 申明:这里为了方便起见,所有输出都统一用UTF-8编码. 先说字节流,要输出"中国",给输出流的必须是转换为utf-8的"中国",还要告诉浏览器,用utf8来解析数据 //这句话的意思,是让浏览器用utf8来解析返回的数据 response.setHeader("Content-type", "text/html;charset=

json.dumps输出的中文乱码问题

json.dumps输出的中文乱码问题 name的中文被输出为unicode代码了 # 输出文件 { "gns": { "DSG": "ADM3", "ADM1": "33", "UNI": "9040637", "UFI": "-1898270" }, "name": "\u6e1d\u4e2d\

cmd命令行中logcat输出日志中文乱码

在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内容显示乱码. 修改cmd命令行窗口字符编码即可解决logcat日志中文显示乱码问题: 1.cmd命令行窗口字符编码切换为UTF-8,命令行中执行:chcp 65001 2.修改cmd窗口字体属性,在命令行标题栏上点击右键,选择”属性”->”字体”,将字体修改为”Lucida Console”,点击确

sublime text3 nodejs控制台输出结果中文乱码

在sublime text3安装完nodejs的插件后,运行console.log("你好"),发现控制台出现中文乱码,解决办法:Preferences-> Browser Packages 打开文件夹后找到  Nodejs -> Nodejs.sublime-build 改其中的encoding为utf-8即可, 默认为cp1252  1 { 2 "cmd": ["node", "$file"], 3 "

python 输出十六进制中文乱码

代码中红色字体为解决方案: 1 #-*-coding:utf-8-* 2 import csv 3 4 filename='C:\Users\yaru\Desktop\Senti_Value(1).csv' 5 6 data=[] 7 try: 8 with open(filename) as f: 9 reader = csv.reader(f) 10 header = reader.next() 11 data = [row for row in reader] 12 except csv.

IDEA控制台输出中文乱码问题

IDEA编辑器,tomcat服务器,在调试过程中控制台输出中文乱码,按照网上教程已经将所有设置编码 的地方都设置为UTF-8了,但还是不行,输出依旧是中文乱码的. 具体设置过程如下: 1.看网上经验,大多数同学只要做如下设置,即可让IDEA控制台正常显示中文信息: 1.1 IDEA设置编码,File-->setting-->Editor-->File Encoding,设置统一编码UTF-8,如图: 1.2 重新编译项目,Build-->Rebuild Project,重新运行,检

Java Web -- Servlet(10) 中文乱码处理专题

一.产生乱码的原因: 当浏览器通过http协议访问web服务器时,假设此时浏览器的编码是utf-8,当把请求发给web服务器时,web服务器却以ISO-8859-1编码接收,所以就产生了乱码. //设置web服务器接收时,以utf-8形式接收,如下: request.setCharacterEncoding("utf-8"); //编码方式设置和浏览器一样(还有常见的gbk.gb2312) //设置浏览器显示时,以utf-8显示. response.setContentType(&qu

JSP中文乱码问题终极解决方案

在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的JSP中文乱码问题有如下几个方面:页面乱码.参数乱码.表单乱码.源文件乱码.下面来逐一解决其中的乱码问题. 一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: [java] view plaincopyprint? <%@ page language="java" import="java.util.