PrintWriter 输出信息乱码

异步方式,返回json给前台时,向前台输出信息使用PrintWriter,但是在输出的过程中,出现乱码的情况。

于是我想起来response.setCharacterEncoding("utf-8");设置页面编码,以及response.setContentType("text/html; charset=utf-8");设置内容类型编码,但是在实验后不成功,乱码依旧。

    PrintWriter out = response.getWriter();
    response.setCharacterEncoding("utf-8");
    response.setContentType("text/html; charset=utf-8");
    out.print(json);
    out.flush();
    out.close();

返回的json如下:

{"seriesData":[22619,22671,21908,5415,0],"caption":"组织机构代码-年度统计","xAxisData":["2010年度","2011年度","2012年度","2013年度","2014年度"]}

经检查,发现PrintWriter会先获取项目的 编码,根据编码来自己设定characterEncoding,所以得在获取这个PrintWriter对象之前设置编码。如下:注意顺序。

  
response.setCharacterEncoding("utf-8");
  response.setContentType("text/html; charset=utf-8");
  PrintWriter out = response.getWriter();
    out.print(json);
    out.flush();
    out.close();

PrintWriter 输出信息乱码

时间: 2024-08-10 00:03:37

PrintWriter 输出信息乱码的相关文章

Java应用程序中System.out.println输出中文乱码

Java应用程序中System.out.println输出中文乱码 2013-12-10 21:27:08cnblogs.com-bluepoint2009-点击数:3631 其实,解决办法比较简单,即:编译时指定编码为UTF-8,如: 1 javac -encoding utf-8 HelloJava.java 这样,再运行时就不会出现乱码. 一.中文问题的来源 计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理.随着计算机的发

在Servlet中出现一个输出中文乱码的问题(已经解)。

在Servlet中出现一个输出中文乱码的问题,已经解. @Override public void doPost(HttpServletRequest reqeust, HttpServletResponse response) throws ServletException, IOException { //PrintWriter out = response.getWriter();在还没有给response指定编码格式时就获取了他的输出流,所以一直乱码 reqeust.setCharact

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

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

创建Vue.js对象:我的第一个Vue.js输出信息

<!DOCTYPE html><html><head><meta charset=”utf-8″><title>Vue第一条信息</title><script src=”js/vue.js”></script></head><body><div id=”app”><p>{{ message }}</p></div> <script&g

【转】MFC中调试过程中查看输出信息 -- 不错

原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

通过g++查询到的mysql中文数据输出是乱码

这几天遇到一个问题: 通过g++查询到的mysql中文数据输出是乱码,而通过g++添加到mysql中的中文数据也是乱码,但单独通过g++输出正常,查询通过mysql添加的中文数据显示也正常. 在网查查询了很久,纠结了半天也没有找到答案.后来通过在linux吧发帖终于找到了解决方案.原来是mysql和g++默认字符集不匹配产生的问题.通过在代码中添加 int mysql_set_character_set(MYSQL *mysql, char *csname)函数终于解决了问题. 源码如下: #i

u-boot启动输出信息分析——基于tiny6410

CPU: [email protected] Fclk = 532MHz, Hclk = 133MHz, Pclk = 66MHz, Serial = CLKUART (SYNC Mode) Board: MINI6410DRAM: 256 MBFlash: 0 kBNAND: 2048 MB In: serialOut: serialErr: serialMAC: 08:90:90:90:90:90下面代码的输出信息就可以在里面查得到1.初始化本阶段要使用到的硬件设备2.检测系统内存映射3.将

kettle spoon中“表输入”到“表输出”的乱码问题

数据库中的数据在不同的数据库中转换来装换去,由于不同库可能使用了不同的字符集,所以可能导致结果数据乱码问题.此次是在一个作业中跑数据,跑完数据前台数据显示出现乱码,检查了作业中的多有中间过程表,包括表输入的预览,表中的数据都是正常的,可想而知,问题肯定是处在"表输入"到"表输出"这个中间的转换环节上,根据能想到的,应该是字符集问题,为了更有保障的"表输入"和"表输出"的字符集相同,所以在表输入输出中.都添加了字符集的配置参数c

php cli模式或者内置server命令行输出信息

1 /* 2 * php cli模式或者内置server命令行输出信息 3 * param fixed $data 参数可以是除了对象以外的所有数据类型,比如:字符串,数组,jason等 4 */ 5 public function console($data) { 6 7 // 中文编码处理 8 $wp = json_encode ( $data, JSON_UNESCAPED_UNICODE ); 9 10 $stdout = fopen ( 'php://stdout', 'w' ); 1