Web 的doPost方法设置了UTF-8,控制台输出还是乱码
Debug时已经看到value的值是“张三” ,控制台输出是: ��������@WebServlet("/test")
public class TestServlet extends HttpServlet {
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("UTF-8");
String value = req.getParameter("value");
System.out.println(value);
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doGet(req, resp);
}
}
加了过滤器也没用
@WebFilter("/test")
public class WordFilter implements Filter {
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("WebFilter");
//servletRequest.setCharacterEncoding("UTF-8");
filterChain.doFilter(servletRequest,servletResponse);
}
}
加了过滤器后输出也就变成:
WebFilter
��������
补充一下jsp的代码吧
<!DOCTYPE html>
<html>
<head>
<title>JSP - Hello World</title>
</head>
<body>
<form action="/test" method="post">
<input type="text" name="value">
<input type="submit" name="submit">
</form>
</body>
</html>
为什么会出现这种事,以及怎么处理? 不会用JAVA啊,但是用其他的还没遇到这样的情况 你这个是中文被编译后出现的状况好好改改 等等豆豆 发表于 2021-9-10 14:23
你这个是中文被编译后出现的状况好好改改
没懂,控制台上可以看到中文啊。比如这种:11-Sep-2021 10:20:02.540 信息 org.apache.catalina.startup.HostConfig.deployDirectory Web应用程序目录的部署已在毫秒内完成
但是Debug时有中文值,控制台输出时变成全是问号: ???? -Dfile.encoding=UTF-8
配置tomcat添加这个
页:
[1]