君念愁
2017-06-07 13:27
采纳率: 94.7%
浏览 1.2k
已采纳

Hibernate插入数据库乱码问题,求各位解惑!!!

今天使用Hibernate框架向MySQL中插入数据时,出现中文乱码问题,网上搜索后已经将页面编码、数据库编码都设置成了UTF-8,hibernate配置文件中设置成如下:
jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=UTF-8
但是这样还是乱码,通过查询发现在插入数据之前就已经出现乱码了,后来发现表单以post方式提交,所以试了一下request.setCharacterEncoding("UTF-8"),结果竟然成功了,但是不明白这是什么原因,页面编码已经设置为UTF-8,为什么还会出现中文乱码问题?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 万炯大亨 2017-06-07 13:48
    已采纳

    页面设置pagcoding ,只是告知浏览器我这个jsp页面是什么编码的,然后让浏览器使用正确的方式解析。而我们在jsp页面提交表单的时候,已经
    进入下一个请求链,与上一个jsp页面已经没联系了,不管get、post请求,都需要进行相应的措施防止乱码,get的请求,一般使用String类的构造方法
    解决乱码,post的话,就要设置request.setCharacterEncoding("UTF-8")来处理请求参数乱码;所以不一样呀。

    打赏 评论
  • solitary_w 2017-06-07 13:42

    这个问题我也遇到过,在action中获取页面元素时要进行编码设置。好像时在获取到内容后要对内容进行重新编码来着。可以参考下这位博主的http://blog.csdn.net/fancylovejava/article/details/7700683

    打赏 评论
  • qq_32339225 2017-06-07 14:10

    使用sevelet 必须要加那句话 或者加个编码过滤器 不然就是乱码 或者设置mysql的utf-8

    打赏 评论

相关推荐 更多相似问题