Tomcat服务器中解决中文乱码问题

对于浏览器向Tomcat服务器发送请求,Tomcat服务器控制台出现中文乱码问题。

       -对于发送请求分为get请求及post请求两种方式              

              - get请求在请求行上提交数据

              - post请求在请求体中提交数据

       -get请求出现中文乱码解决方式

                1、修改CATLINA_ HOME/conf/server . xml文件

                    <Connector port= "8080"

                     protocol= "HTTP/1.1"

                    connectionTimeout= " 20000"

                     redirectPort= "8443"

                     URIEncoding="UTF-8"/>

                    注:位置及内容不能错误! 

               2、通过解码,编码的方式(Tomcat8.0版本以下适用)

                  String name = request.getParameter("username");

                  byte[] bytes = name.getBytes("ISO-8859-1");

                  name = new String(bytes, "utf-8");

                  System.out.println(name);

                  注:对于Tomcat8.0版本及以上,不需要做任何处理,输出不会出现乱码。ISO-8859-1解码再编码反而会出现乱码。

       

       -post请求出现中文乱码解决方式

               1、修改请求体的编码方式

          request.setCharacterEncoding("UTF-8");
          String pwd = request.getParameter("password");
          System.out.println(pwd);

     

         个人对解码编码的理解

                     例:

                    浏览器编码(utf-8)>解码(byte数组)>发送请求到服务器(ISO-8859-1)

                                                                                               V

                                    输出到控制台(utf-8)<  服务器端再进行解码(byte数组)

        注:解码的方式应该相同,否则byte数组无法保持一致,即无法与浏览器编码保持一致。

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值