用mysqldump命令做的备份,要在mysql-standard-5.0.27-linux-i686.tar.gz中用mysql命令导入恢复。  
出现乱码!  
 
 
通过"show  variables  like  'character_set_%';"查看数据库的信息得知:现在这个新的数据库默认字符集是latin1,而原来的数据库是gbk。  
 
我用set  character_set_database=gbk;  
       set  character_set_server_gbk;  
       set  names  'gbk';  
可以把他们改过来,但是每当推出mysql命令符,重启动mysql服务的时候他总是变回latin1字符集。比买胡萝卜汁的兔子还气人,无奈了……  
select可以查到中文,jsp中全是乱码。  
 
请问哪位仁兄有这方面的先进经验还望不吝赐教。

解决方案 »

  1.   

    set character_set_database=gbk;
    set character_set_server_gbk;
    set names 'gbk'; 
    这样是修改你当前操作的编码,
    你导入恢复时候的编码是什么样的?后来建立的库和表的编码是什么样的?
      

  2.   

    还有一种方法说在/etc/my.cnf中的[mysql]加入default-character-set=gb2312
    [mysqld]中加入character-set-cilent=gb2312            character-set-server=gb2312这也是我原来机器中的值。但是现在不灵了。请问yangxiao_jiang(哈哈) ,怎么能改变编码,编码恒久改,一次永流传?