以前的时候都用的sqlserver2000或者是oracle,但是,这几天我换成mysql就出问题了呀,无论如何都不能向数据库中插入中文,但是可以直接在mysql下面用insert方法插入中文哦!我直接将配置文件中的数据库修改一下,换成oracle就可以正常显示呀,同样的程序!
求各位帮小弟一下嘛,出现这种问题是什么原因呀?

解决方案 »

  1.   

    在数据库url中指定编码jdbc:mysql://192.168.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8
      

  2.   

    你mysql的编码是啥子??改成utf8就好啦
      

  3.   

    在mysql中输入以后命令即可解决乱码:set names 'gbk(或utf-8)'
      

  4.   

    Mysql一定有一个字符集,可以通过启动时加参数指定,也可以编译时指定,也可以在配置文件里指定。Mysql服务器字符集,只是做为数据库级的默认值。创建数据库时,你可以指定字符集,如果没指定,就使用服务器的字符集。同理,创建表时,你可以指定表级的字符集,如果没指定,使用数据库的字符集做为表的字符集。创建列时,你可以指定某列的字符集,如果没指定,就使用表的字符集。通常情况下,您只需设置服务器级的字符集,其它的数据库级,表级,以及列级的字符集,都继承自服务器级字符集。由于UTF8是最广的字符集,所以,一般情况下,我们设置Mysql服务器级的字符集为UTF8!jdbc:mysql://192.168.0.1:3306/dbname?useUnicode=true&characterEncoding=utf-8
      

  5.   

    我现在用的mysql也是乱码,但是它只是在mysql客户端里是乱码, 被页面编码一次就行了.我装mysql选的是UTF-8.
    CREATE TABLE `ccc` (                   
              `username` varchar(20) default NULL  
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8 插入一个汉字就报:
    ERROR 1406 (22001): Data too long for column 'username' at row 1
      

  6.   

    装完MySql后你在配置服务器的时候有一个字符集的配置,默认的话是拉丁文,
    所以你可以重新配置一下你的mysql服务器,相信应该就没有问题了!
      

  7.   

    我一直使用着1楼和8楼的方法, 而且两者都用。
    既8楼指明数据库编码,1楼指明jdbc driver编码。有的时候,我还会给web.xml配置一个SetCharacterSetFilter。  这个filter到处可以搜到。
    -------------------------
    细粒度权限管理软件试用版下载
    www.metadmin.com