问答详情
源自:1-11 Servlet获取表单数据

关于将值传入mysql数据库的中文乱码问题

老师,请教一下

关于中文乱码问题,我按照您这样在Servlet类里面添加了

request.setCharacterEncoding("UTF-8");

并不好使,然后在网上查找了一下方法,是在request.getParameter("")方法后面调用getBytes()方法,像这样

String doorplate=new String(request.getParameter("doorplate").getBytes("ISO-8859-1"),"UTF-8");

才能够往mysql数据里面传入中文字。


我想请教一下为什么按照老师这样的不可以,得用这种方法呢?感觉每个属性值都要这要添加很麻烦,有更简便的方法吗?先谢谢老师辣~!

提问者:xxxD 2015-02-08 22:31

个回答

  • milanlover
    2015-02-09 08:40:36

    Mysql中文乱码问题主要从以下几方面来考虑:1.页面编码统一使用contentType="text/html;charset=utf-8" 2.使用过滤器解决post提交表单数据的乱码问题 3.在Tomcat的conf/server.xml中添加 URIEncoding=utf-8,解决get方式提交表单中文乱码问题 4.安装Mysql时指定默认字符集使用utf-8。

    以上环节如果都正确,基本上不会出现乱码问题。如果其中任何一个不对,都有可能引起乱码问题。

  • 慕仔7064047
    2017-02-05 12:30:03

    谢谢 同学

  • 未卜先知
    2016-12-21 13:52:22

    直接在数据库连接后面+ ?useUnicode=true&characterEncoding=UTF-8

    我也是搞了半天才搞好的。。。所有的编码都是对的,但是中文插叙提交的还是??这种形式的乱码