关于Servlet中文乱码问题

解决中文乱码的方式有很多种,试了比较原始的一种方式,结果出错了。。。。
贴一下代码:

        String data = "中文乱码";
        ServletOutputStream out = response.getOutputStream();
        String htm = "<meta http-equiv='content-type' content='text/html;charset=UTF-8' />";
        out.write(htm.getBytes());
        out.write(data.getBytes("utf-8"));

纠结于,这种方法,在ie,edge浏览器都有效,在chrome中,标签直接被打印出来了

要在response那里设置编码

要在response那里设置编码

用 gbk 2312

先设置 或者定义个过滤servlet

解决中文乱码的方式挺多,也不难实现,我现在纠结于 为什么这种方式不可以

一、常识了解

 

1.GBK包含GB2312,即如果通过GB2312编码后可以通过GBK解码,反之可能不成立;

2.java.nio.charset.Charset.defaultCharset() 获得平台默认字符编码;

3.getBytes() 是通过平台默认字符集进行编码;

 

二、中文乱码出现

 

在学习任何一门技术时,经常会有初学者遇到中文......
答案就在这里:servlet中文乱码问题
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?