Java教程

Request请求乱码问题

本文主要是介绍Request请求乱码问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Request请求参数方法有俩种:doGet , doPost.

在这俩种方法中会出现中文乱码问题,列如:

在我输出中文信息时,控制台打印出乱码

 然而解决方法很简单,在doPOST中加入:request.setCharacterEncoding("UTF-8");

但这只能使用在dopPOST方法中。

 @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //解中文乱码
        request.setCharacterEncoding("UTF-8");

        String username = request.getParameter("username");
        System.out.println(username);


    }

 再次启动tomcat后,输入中文再去看控制台

 发现已经解决了乱码问题

但是doGet的方法中不同,tomca中使用的是ISO-8859-1是不可更改的

所有必须要先对其编码(转为字节数组)再进行解码

此方法也可使用在POST中

//1.编码 转为字节数组
        byte[] bytes = username.getBytes(StandardCharsets.ISO_8859_1);
        //2.解码
        username = new String(bytes,StandardCharsets.UTF_8);

不过在tomca8之后已经把ISO-8859-1默认改为UTF-8;

这篇关于Request请求乱码问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!