1.我用的是myeclipse8.5,写jsp文件连接数据库时,在mysql中插入的中文能在页面中正常显示,但通过jsp表单向数据库中插入中文时,显示乱码。后来在接收表单信息的页面中插入response.setContentType("text/html;charset=gb2312");语句后,输入中文时不能插入,显示错误信息为:“java.sql.SQLException: Incorrect string value: '\xC0\xEE' for column 'name' at row 1” 输入英文时能插入。
求高手们帮帮我把这个乱码解决掉,我看了好多资料了,但还是不明白。希望您能解释清这是什么类型乱码及乱码原因,还有如果要在页面中添加代码,应该添加在什么位置?2.在表单中用了单选按钮选择性别,请问设置value值与能否向数据库中添加数据有关吗?
java 乱码

解决方案 »

  1.   

    看看是不是mysql编码设置问题
      

  2.   

    试下数据库、页面、后台,都采用utf8
      

  3.   

    怎样把前台和页面设置成utf-8?数据库字符集已设成了gb2312的形式
      

  4.   

    一、修改插入字段:
    将表数据备份后清空,更改name字段的编码方式,alter table users modify username char(20) character set gbk;
    二、修改mysql默认的编码方式
    找到mysql的配置文件my.ini 找到default-character_set ,把他的参数改成gb2312。
    http://blog.sina.com.cn/s/blog_48f0f4da0100cktq.html
      

  5.   

    上面的sql语句里的表面和字段名 记得替换下~
      

  6.   

    mysql编码设置
    mysql> alter database name character set utf8; 
      

  7.   

    mysql> alter database name character set gb2312
      

  8.   

    刚把mysql按照您提供的办法改了,还是不行。重申问题:我的学生信息系统实现插入学生记录,删除及修改功能。baseInfo.jsp页面是一个表单,第二个jdbcDemo1_select.jsp,有javaBean实例化部分,还有连接数据库,用prepareStatement.setString(1,student.getId())方法获得表单数据,问题是当在表单中输入中文时不能增加数据库的记录,而英文可以。
      

  9.   

    在servlet中通过
    new String (request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");把获取的内容转化一下,然后再存储到数据库中,看是否还乱码
      

  10.   

    乱码有很多种,mysql中改成utf-8 myeclipse,jsp页面都得改成一样的。 然后在考虑你用的浏览器是是什么编码, 如果都该了,还乱码在弄个拦截器应该差不多了
      

  11.   

    右键点击项目名称-------->properties-------->resource可以设置项目的编码,然后和数据库的编码一致应该就没有问题。
      

  12.   

    mysql里面没有改了编码格式,那个my.ini文件,好像是第57行和81行,那有编码格式,这两处都改成gb2312,就可以了,工具和页面都设置成utf-8就行,这样就不会有乱码了。
      

  13.   

    jsp页面中的 pageEncoding设置为'text/html;charset=utf-8;'你试试行不行。
      

  14.   

    谢谢大家为我出谋划策,可是这些办法都试了,不管用。我现在的配置如下:MySQL重装了一次,设置默认字符集是gb2312,浏览器、MyEclipse字符集也都是gb2312;但运行时出现的结果为并且当我修改时中文全为乱码。
      

  15.   

    tomcat server.xml   URiEncoding="utf8"