tomcat7中文乱码问题

Cookie 中文500问题在这里插入图片描述

HTTP Status 500 - Control character in cookie value or attribute.

原因是Cookie中文导致的

    Cookie abc =new Cookie("yzj","渣渣辉");
//  Cookie abc = new Cookie("yzj", URLEncoder.encode("渣渣辉","UTF-8"));
    response.addCookie(abc);

将代码换成注释的下面一行则OK,当然在获取cookie值后需要解码

Cookie[] cookies = request.getCookies();
        if (cookies != null) {
            for (Cookie cookie : cookies) {
                System.out.println(cookie.getName()+":"+ URLDecoder.decode(cookie.getValue(), "UTF-8"));
            }
        }

request get方式乱码问题

在这里插入图片描述account='?????????'

相信不少小伙伴困惑这个问题应为tomcat7是采用ISO-8859-1进行解码的我们将他改为utf-8即可

String account = new String(request.getParameter("account").getBytes("ISO-8859-1"),"UTF-8");

当然这种方式并不好 每一个中文都要进行更改,采用
Map<String, String[]> map = request.getParameterMap();
BeanUtils.populate(loginUser,map);
这种方式封装就会出现一定问题 ,这时候我们可以找到tomcat conf目录下的server.xml文件 ,找到下图地方加上 URIEncoding=“UTF-8”(加在 ’ / ’ 前)

在这里插入图片描述
保存,重启服务器 在次输入张三疯

在这里插入图片描述
request post方式乱码问题

该问题直接设置编码格式

request.setCharacterEncoding("utf-8");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值