代码先锋网 代码片段及技术文章聚合

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();

 

版权声明:本文为weixin_34348111原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34348111/article/details/94476500

智能推荐

PrintWriter缓冲字符输出流

PrintWriter缓冲字符输出流 构造方法众多 PrintWriter(File file):向给定文件写数据 printWriter(String fileName):给定一个文件路径,对文件进行写操作 PrintWriter(OutputStream out):向给定的输出流写数据 PrintWriter(OutputStream out,boolean autoFlush):向给定的输出...

Servlet PrintWriter输出中文乱码解决方法

加入下面代码即可 ,注意PrintWriter获取输出流得在  ...

PrintWriter返回乱码的分析及解决

用response得到输出流,即response.getOuptStream(); 返回值为ServletOutputStream 对象,即JSP的out对象,要么用response得到输出对象PrintWriter即response.getWriter()。  输出乱码。为什么呢,已经设置了字符编码啊?难道设置的无效。  在API中找到方法说明:  就是讲...

PrintWriter 后台写入传给前端乱码

使用 需要在  分别设置页面编码和设置内容类型编码response.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); 就可以让输出到前端的中文不是乱码啦 response.setCharacterEncoding("utf-...

猜你喜欢

SpringBoot中使用PrintWriter出现乱码

一、代码 页面显示结果: 123abc涓€浜屼笁 二、解决 页面显示: 123abc一二三 三、尝试其他的方法 applicaiton.properties中添加: 结果:还是一样 使用全局过滤器: 总结: 如果使用PrintWriter 在页面输出中文,最好还是添加上 response.setContentType(“text/plain; charset=utf-8&rd...

打印和输出流:PrintStream和PrintWriter

打印流:输出流 (1)PrintStream: 经典代表:System.out Sysetm.err new PrintStream(文件名) new PrintStream(文件名,编码) new PrintStream(另一个字节输出流) (2)PrintWriter Web阶段学习时,从服务器端往客户端返回消息时用到response,response.getWriter()可以返回Print...

JavaIO字符打印输出流PrintWriter

2019独角兽企业重金招聘Python工程师标准>>> PrintWriter 介绍 PrintWriter 是字符类型的打印输出流,它继承于Writer。 PrintStream 用于向文本输出流打印对象的格式化表示形式。它实现在 PrintStream 中的所有 print 方法。它不包含用于写入原始字节的方法,对于这些字节,程序应该使用未编码的字节流进行写入。 PrintW...

ajax获取servlet中的PrintWriter输出的内容出现乱码现象

这里用的响应流输出,主要设置response的字符编码 response.setContentType(“text/html;charset=utf-8”); request.setCharacterEncoding(“utf-8”); 注意一定要设置在response.getWriter()之前...

在有编码过滤器的情况下PrintWriter输出数据乱码

在有编码过滤器 ParamFilter的情况下可以直接省略掉对Servlet与网页之间交互的编码和解码过程 于是写了代码 输出结果显示乱码  在大佬的指导下才知道Filter只能对request进行处理  或者说在编码过滤器中一般只对request进行处理  本人所写的代码是通过Ajax调用PrintWriter进行的数据传输    因此是通过的r...