JSP、Servlet乱码处理方法集合
2017-07-17 13:30
405 查看
1、页面编码和内容编码一致: <%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="" pageEncoding="UTF-8" %> 2、获取参数时设置编码: request.setCharacterEncoding("UTF-8"); 3、给URL上的中文参数进行编码,在获取参数的时候再次转码: 中文编码:URLEncoder.encode("中文", "UTF-8") 获取转码:String str = URLDecoder.decode(str, "UTF-8"); 4、获取参数时直接给带中文的参数编码: String str = new String("".getBytes("ISO8859_1"), "UTF-8"); 5、修改tomcat的编码配置server.xml: < Connector port ="8080" maxHttpHeaderSize ="8192" maxThreads ="150" minSpareThreads ="25" maxSpareThreads ="75" enableLookups ="false redirectPort ="8443" acceptCount ="100" connectionTimeout ="20000" disableUploadTimeout ="true" URIEncoding ="UTF-8" /> 6、数据库连接时的编码配置: url=jdbc:mysql://127.0.0.1:3307/ybt?useUnicode=true&characterEncoding=UTF-8 7、在servlet里面,forward中文乱码时,输出/输入流的编码定义应该在方法的最前面(小学妹出现的问题,分享的帖子) public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setCharacterEncoding("UTF-8"); // 先指定输出流的编码 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); // 再拿到输出对象 RequestDispatcher requestDispatcher = request.getRequestDispatcher("/test/test2.jsp"); requestDispatcher.forward(request, response); } 8、ajax的参数是中文的时候要进行编码,后台获取再解码 ajax编码:encodeURIComponent(value); ajax的data是中文如果乱码的话在后台传过来之前编码,然后在js中解码:decodeURIComponent(value);
相关文章推荐
- JSP和Servlet的六种中文乱码处理方法
- jsp servlet中文乱码的处理方法终极版
- JSP/Servlet 汉字乱码处理方法
- jsp servlet 乱码处理方法-表单提交的 pos 和get 方式
- jsp跳转servlet时出现乱码的处理方法
- jsp传参到servlet中文乱码处理
- JSP,js,servlet之间传值时中文乱码的处理
- JSP和Servlet的中文乱码处理
- jsp中不同提交方式的中文乱码处理方法及数据库乱码处理方法
- JSP和Servlet的中文乱码处理
- JSP和Servlet的中文乱码处理
- JSP对URL链接中的中文乱码处理方法总结
- JSF运行时出现javax.servlet.jsp.JspException: Cannot find FacesContext处理方法
- jsp、servlet中文乱码终极解决方法
- JSP处理汉字乱码方法
- JSP和Servlet的中文乱码处理
- jsp传参 servlet接收中文乱码问题的解决方法
- (转载)关于JSP和Servlet乱码处理
- JSP和servlet中出现中文乱码的快速解决方法
- java中Servlet处理乱码的方法