从页面插入的是中文,到了mysql中显示的是乱码,再从数据库中读出来的时候是中文的。不知道是什么原因.创建数据库是用gbk编码的,过滤器是gbk编码,mysql是5.1的,JDBC驱动是5.0的

解决方案 »

  1.   


    用mysqldump把数据dump下来,然后用记事本打开,看看会不会乱码数据经过很多环节的处理
    解决问题的关键是定位发生乱码的环节
      

  2.   

    你可以试试把数据库表和数据库,页面,过滤器都改成UTF-8
      

  3.   

    老茶馆:mysqldump怎么用啊?mysql> mysqldump --help;
    ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
    corresponds to your MySQL server version for the right syntax to use near 'mysql
    dump --help' at line 1
      

  4.   

    ****mysql\bin>mysqldump --user=root --password=密码 dbname>d:/dump.text
      

  5.   

    配置连接中设定编码集就可以了
     url="jdbc:mysql://***:3306/yourdbaname?autoReconnect=true&useUnicode=true&characterEncoding=utf-8& 
                 mysqlEncoding=utf8" maxActive="20"/>
    肯定就没问题了
      

  6.   

    可能是你安装mysql的时候没选择字符集
      

  7.   


     maginn(maginn) :设置连接的编码集没有用啊,JDBC驱动是5.0的可以自动识别数据库的字符编码。
    greatzheng(达不溜西) :是的没有选择,我是选的latin1默认的,但创建数据库的时候可以指定啊
      

  8.   

    wckjlu() :你可以试试把数据库表和数据库,页面,过滤器都改成UTF-8
    ----这个我是过不行啊。数据库中的还是乱码。
      

  9.   

    laochake(老茶客) :我把数据dump了一下,是中文的没有乱码啊 ,下一步该怎么解决啊 ?
      

  10.   

    数据库是GBK,而表却不一定是GBK
      

  11.   

    在Mysql安装文件下找到my.ini,把default-character-set改为gbk
     还要在安装数据库的时候把默认的latin设为gbk
     建表的时候也要把每一列设为gbk  
      

  12.   

    glseda() :数据库是GBK,而表却不一定是GBK
    mysql文档里面说了,表的编码默认按照数据库的编码,列的编码默认按照表的编码lhx1982425() :要是该my.ini的话是可以的我试过,不过要改两个地方,
    [client]port=3306[mysql]default-character-set=latin1---这是一个[mysqld]# The TCP/IP Port the MySQL Server will listen on
    port=3306
    #Path to installation directory. All paths are usually resolved relative to this.
    basedir="F:/MySQL/MySQL Server 5.1/"#Path to the database root
    datadir="F:/MySQL/MySQL Server 5.1/Data/"# The default character set that will be used when a new schema or table is
    # created and no character set is defined
    default-character-set=latin1---这是另一个
    重启mysql服务器再建数据库就可以了。url的编码都不需要。
    能不能不改my.ini?
      

  13.   

    仔细有看了一下你的问题,“到了mysql中显示的是乱码”是什么意思?是指mysql>select * ………… 吗?如果是的话,解决如下:bin>mysql --default-character-set=gbk --user=……