响应与请求中的中文数据乱码问题解决方法,GET请求方式 form表单的参数会将action添加的参数全部覆盖问题

响应与请求中的中文数据乱码问题解决方法,GET请求方式 form表单的参数会将action添加的参数全部覆盖问题

如何解决响应中的乱码问题

  • 原因:tomcat服务器 默认用的编码 ISO-8859-1
    浏览器没有这个码表 使用自己默认的码表 解码会乱码
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter writer = response.getWriter();
        writer.write("一树梨花压海棠");

    }
  • 解决方法
设置服务器的码表
response.setCharacterEncoding("utf-8");
设置浏览器用utf-8
response.setHeader("Content-Type", "text/html;charset=UTF-8");
以上两行代码 可以综合合并
response.setContentType("text/html; charset=UTF-8");
  • 测试代码
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter writer = response.getWriter();
        writer.write("一树梨花压海棠");

    }
  • 运行结果

如何解决请求中的乱码问题

  • 同上
request.setCharacterEncoding(当前项目的编码集)

注意:

本身对请求实体进行编码,针对于post编码。如果需要对get同时一起编码,需要在配置端口号的地方添加useBodyEncodingForURI="true"。

GET请求方式 form表单的参数会将action添加的参数全部覆盖问题

需要注意的是当用到form表单时,form表单的action后面如果跟了自己添加的参数,如果请求方式是get,表单的参数会将action添加的参数全部覆盖掉。

解决方式:
1)把get换成post

2)使用get的话,可以用隐藏域
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值