解决中文输出浏览器乱码问题

释放双眼,带上耳机,听听看~!

出现乱码的原因:浏览器端编码格式与服务器端编码格式不一样

字节流输出中文乱码

public class TestClass extends HttpServlet {
    private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String outContent = "中文";
        //获取响应输出流
        ServletOutputStream sos = response.getOutputStream();
        //设置浏览器端的编码
        response.setHeader("Content-type", "text/html;charset=utf-8");
        //也可以简写response.setContentType("text/html;charset=utf-8");
        //设置服务端写出的格式
        sos.write(outContent.getBytes("utf-8"));

    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

字符流输出中文乱码

private static final long serialVersionUID = 1L;
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String outContent = "中文666!@#";
        //设置服务端和客户端的编码形式
        response.setContentType("text/html;charset=utf-8");
        PrintWriter pw = response.getWriter();
        pw.write(outContent);

    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

设置编码格式,尽量使用response.setContentType(“text/html;charset=utf-8”)方法,可以一步到位

常见支持中文的编码

GBK GB18030 GB2312,支持中文的编码,也支持其他一些字符

UTF-8万能码,支持所有字符

人已赞赏
知识分享

位、字节、字符的区别

2020-9-20 22:40:00

知识分享

定时刷新与定时跳转网页

2020-9-20 22:45:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索