zoukankan      html  css  js  c++  java
  • 关于 jsp java servlet 中文汉字乱码的解决方法

    在servlet类中的get,post最前面加上

    req.setCharacterEncoding("UTF-8");
    resp.setCharacterEncoding("UTF-8");

    对接收到的汉字字符串转码

            String name = req.getParameter("name");
            String deptName = req.getParameter("deptName");
            name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
            deptName = new String(deptName.getBytes("ISO-8859-1"), "UTF-8");

    完整样例:

    package servlet;
    
    import Dao.DeptDao;
    import Dao.EmpDao;
    import entity.Emp;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.io.UnsupportedEncodingException;
    
    public class EmpServlet extends HttpServlet{
        @Override
        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String action = req.getParameter("action");
            req.setCharacterEncoding("UTF-8");
            resp.setCharacterEncoding("UTF-8");
            if("listEmp".equals(action)){
                listEmp(req,resp);
            }
        }
    
        private void listEmp(HttpServletRequest req, HttpServletResponse resp){
            JSONArray result = EmpDao.listEmp();
            PrintWriter pw = null;
            try {
                pw = resp.getWriter();
                pw.println(result);
                pw.flush();
                pw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        @Override
        protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String action = req.getParameter("action");
            req.setCharacterEncoding("UTF-8");
            resp.setCharacterEncoding("UTF-8");
            if("addEmp".equals(action)){
                try {
                    addEmp(req,resp);
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        }
    
        private void addEmp(HttpServletRequest req, HttpServletResponse resp) throws JSONException, UnsupportedEncodingException {
            String name = req.getParameter("name");
            String deptName = req.getParameter("deptName");
            name = new String(name.getBytes("ISO-8859-1"), "UTF-8");
            deptName = new String(deptName.getBytes("ISO-8859-1"), "UTF-8");
    
            int deptId = DeptDao.reConvert(deptName);
            JSONObject result = EmpDao.addEmp(name,deptId);
            try {
                PrintWriter pw = resp.getWriter();
                pw.println(result);
                pw.flush();
                pw.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    
    
  • 相关阅读:
    CSS截取字符串
    mysql数据库中列转行
    Html页面操作json串
    mysql批量上传数据
    常见的表单元素选中
    关于Connection must be valid and open.
    百度editor调用【图片上传阿里云】
    百度apistore第三方登陆
    如何提高网页运行性能
    Html页面加回滚
  • 原文地址:https://www.cnblogs.com/zhangjiuding/p/8039875.html
Copyright © 2011-2022 走看看