在Servlet中POST请求中文乱码,Get请求与响应中文乱码
在Servlet中POST请求中文乱码,Get请求与响应中文乱码。
中文乱码解决方法:
POST
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// post方法在请求时出现乱码的情况
// 方法二:request.setCharacterEncoding 方法用于将请求体重的字符集转换为UTF-8,需要放在第一行
request.setCharacterEncoding("UTF-8");
String ename = request.getParameter("ename");
String address = request.getParameter("address");
// 方法一:使用如下方法
// String utf8Ename = new String(ename.getBytes("iso-8859-1"),"utf-8");
// String utf8Address = new String(address.getBytes("iso-8859-1"),"utf-8");
// System.out.println(utf8Ename+":"+utf8Address);
}
GET
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 对于Tomcat8.x的版本,默认get请求发送中文就是UTF-8的格式,因此无需转换
String ename = request.getParameter("ename");
String address = request.getParameter("address");
System.out.println(ename+":"+address);
// 响应时的中文乱码解决方法如下,POST和GET相同的方法
response.setContentType("text/html;charset=utf-8");
response.getWriter().println(ename+":"+address);
}
若是Tomacat是8.X之前的版本,需要自行设置。需要在Tomcat的conf目录下的server.xml中大概63行左右的位置添加 URIEncoding="UTF-8"。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南