web项目:解决后台获取前端传的参数乱码问题,和后台发送数据乱码问题

获取的中文参数乱码:

  一, get方式传参,中文乱码
                   修改tomcat中的配置server.xml
                 【Servers项目中去找server.xml文件,然后修改】
                  在修改端口的标签Connector中添加属性URIEncoding="XXX"(一般情况下,要么GBK,要么UTF-8)
                <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8989" protocol="HTTP/1.1" redirectPort="8443"/>
        【注意】:
            正常情况下,要在eclipse中修改server.xml文件,这个文件会覆盖tomcat中的server.xml。
            但是有的版本的eclipse不按套路出牌,它只在当下修改server.xml有用,等我们再次运行tomcat,

            则用tomcat中server.xml   替换eclipse中的server.xml,所以要注意。
          

二,post方式传参,乱码

获取参数【之前】,先设置一下request中的编码:
           request.setCharacterEncoding("UTF-8")

回写数据乱码

【默认】情况下浏览器会采用【中文简体(GBK)】来解析响应正文
        我们可以在servlet设置【响应头部】,来通知浏览器本次响应正文中的内容编码是什么
        response.setContentType("text/html;charset=utf-8");
        
        在response获得out输出流之前,我们还需要设置一下这个输出流是用什么编码来输入内容
        response.setCharacterEncoding("UTF-8");

    注意:响应内容的整体格式(格式的控制由tomcat负责)
            1.响应状态行【tomcat自动处理】
            2.消息报头/响应头部【用户设置】
            3.\r\n
            4.响应正文【tomcat帮我们自动填充】

猜你喜欢

转载自blog.csdn.net/chenxing12345678hhh/article/details/89947268
今日推荐