数据库字段长度应当没问题,只属很少中文也有问题。怀疑是乱码引起了字段长度问题。怎么解决存数据库是的乱码问题?我的配置:
mysql:mysql-4.1.10-win32
jdbc:mysql-connector-java-3.2.0-alpha-bin.jar
tomcat:tomcat-5.0.28

解决方案 »

  1.   

    String sqlInsert="insert into testtable(id,userName,password) values('"+id+"','"+userName+"','"+password+"');";
    out.print("sqlInsert:"+sqlInsert);sqlInsert:insert into testtable(id,userName,password) values('16','°????????ó??','1231231'); 
      

  2.   

    因为前面做过字符转换,假如去掉。
    使:
    sqlInsert:insert into testtable(id,userName,password) values('111','啊四大的速度统一','111'); 这时也会报相同的错,但是把这句sql拿到mysql里执行是可以插入的。
      

  3.   

    也就是说用程序去执行这句sql:
    insert into testtable(id,userName,password) values('111','啊四大的速度统一','111'); 数据可以插入到数据库里,但是要报错。
      

  4.   

    环境:
    4.0.17
    default-character-set=gbk
    试了试,没有问题.
      

  5.   

    参考:
    1:数据表字段名大小写问题。
    2:中文问题:在建表时在TableOption里面选CharSet类型为gb2312,加载驱动时指定CharSet类型为gb2312。这样就可以正常读下数据表了,中文问题就解决了。注:如果建完表再更改TableOption里面的charSet类型,会出错,更改不成功。
      

  6.   

    参考connection= DriverManager.getConnection("jdbc:mysql://localhost/rprmanager?user=root&password=1&useUnicode=true&characterEncoding=gb2312");
      

  7.   

    在你的数据库连接URL后面加上?useUnicode=true&characterEncoding=gb2312
    设置使用的字符集
      

  8.   

    ?useUnicode=true&characterEncoding=gb2312
    这句我加了,
    另外jsp头上加了:
    <%@ page language="java" contentType="text/html; charset=GB2312" %>
    <%request.setCharacterEncoding("gb2312");%>
      

  9.   

    可能是中文的转换问题,防止乱码应保持编码的一致格式。
    与数据库关联前,先new String(str.getBytes("ISO-8859-1"),"gb2312")看看
      

  10.   

    上面那位朋友说得对!
    我就是用的这种方法解决的!防止乱码应保持编码的一致格式。----silverend(白银末裔)