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方式乱码问题


相信不少小伙伴困惑这个问题应为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");
1659

被折叠的 条评论
为什么被折叠?



