在设置编码时的gbk不区分大小写
需要检查是否设置编码为encoding=“utf-8”
如下:
代码:
LifeServlet com.etime.servlet.LifeServlet 0 LifeServlet /lifeServlet
html中 的charset设置为编码utf-8.
代码:
response
下载
常用方法是:请求资源用:request.setCharacterEncoding(“utf-8”)
响应资源用:response.setCharacterEncoding(“utf-8”)
或者:resp.setContentType(“text/html;charset=utf-8”)
两种方式都可以,为了避免出现中乱码,一般在书写之前都先把request 和 response 的编码统一改为utf-8
代码示例:
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {super.doPost(req, resp);PrintWriter out= resp.getWriter();//将内容写入到浏览器上out.println("Hello World?
");out.close();resp.setCharacterEncoding("utf-8");// 响应避免中文乱码编码集req.setCharacterEncoding("utf-8");//请求避免中文乱码编码集resp.setContentType("text/html;charset=utf-8");PrintWriter out1=resp.getWriter();out1.println("今天天气真差
");out.close();}
除了上述常见的编码问题外还有需要注意的是项目编码,tomcat中的config中的控制台编码设置
项目编码问题:
点击项目,然后找到导航栏的file点击找到设置Steeings…
然后在搜索框中输入enco,找到文件的编码FileEncodings 修改如图所示的编码格式
首先找到如图所示的下拉三角,找到Edit Configurations…点击进入编辑tomcat:
然后找到Server中的VM options:将"-Dfile.encoding=utf-8"填入其中(注意:这里的utf大小写不区分)
如果同时设置了上述这几个地方几乎在中文乱码上基本是没有什么问题。如果还有问题建议重启修改编码后的idea,再进行尝试。