IDEA中tomcat插件版本7中文乱码问题

IDEA中tomcat插件版本7中文乱码问题

问题描述:

因为idea中tomcat插件版本只到7,他的默认解码方式为:ISO-8859-1,又因为浏览器的编码方式为UTF-8所以如果使用tomcat接收中文,会有乱码现象.注:(若使用tomcat 8.0以后版本,则不用考虑这个问题,默认的解码方式已改为UTF-8)

解决方案:

POST : 设置输入流的编码

request.setCharacterEncoding("UTF-8");//设置字符输入流的编码

通用方式(GET/POST) : 先编码,再解码

String username = "张三";

        //1. URL编码
        String encode = URLEncoder.encode(username, "utf-8");
        System.out.println(encode);

        //2. URL解码
        //String decode = URLDecoder.decode(encode, "utf-8");
        String decode = URLDecoder.decode(encode, "ISO-8859-1");

        System.out.println(decode);

        //3. 转换为字节数据,编码
        byte[] bytes = decode.getBytes("ISO-8859-1");
      /*  for (byte b : bytes) {
            System.out.print(b + " ");
        }*/

        //4. 将字节数组转为字符串,解码
        String s = new String(bytes, "utf-8");

        System.out.println(s);



结果打印

%E5%BC%A0%E4%B8%89
张三
张三

补充: URL编码

1.将字符串按照编码方式转为二进制
每个字节转为两个16进制数并在前面加上%

posted @ 2022-07-27 23:54  Haziy  阅读(354)  评论(0编辑  收藏  举报