springMVC获取表单数据中文乱码解决方法

最近学习springMVC时遇到了获取表单中文数据乱码问题,在网络上查了一圈,什么设置request.setCharacterEncoding("utf-8"),什么添加过滤器,都试过了全部无效(没有尝试修改Tomcat服务器的编码,因为感觉这个办法并不好),不知道是不是我的IDE有什么问题,后来我自己琢磨了一下,其实完全可以利用刚刚在springMVC中学到的知识解决(使用@RequestParam获取乱码的中文属性值,然后对其进行转码,重新封装给对应的对象在进行保存等操作),解决方法如下,供大家参考:

/**

     * 插入员工信息的方法

     * @param empName

     * @param employee

     * @return

     * @throws UnsupportedEncodingException

     */

    @RequestMapping(value="/insertEmp",method=RequestMethod.POST)

    private String insertEmp(@RequestParam(value="empName") String empName,

           @RequestParam(value="sex") String sex,Employee employee) throws UnsupportedEncodingException{

       //转码

       String empNameNew = new String(empName.getBytes("iso-8859-1"),"utf-8");

       //打印获取到的相关插入的员工的信息

       System.out.println("插入的员工姓名为:"+empName);

       System.out.println("转码后的姓名为:"+empNameNew);

      

       //转码

       String sexNew = new String(sex.getBytes("iso-8859-1"),"utf-8");

      

       //打印转码后的属性

       System.out.println("插入的员工性别为:"+sex);

       System.out.println("转码后的性别为:"+sexNew);

       //重新封装相关转码后的属性

       employee.setEmpName(empNameNew);

       employee.setSex(sexNew);

       //保存

       employeeDao.save(employee);

       return "redirect:/listEmp";

        }

该方法实际上并不实用,但我从网上找的种种方法都没有解决,只好用这种比较麻烦的方式

 

测试结果截图:

springMVC获取表单数据中文乱码解决方法_第1张图片

springMVC获取表单数据中文乱码解决方法_第2张图片

springMVC获取表单数据中文乱码解决方法_第3张图片

你可能感兴趣的:(springMVC)