求select into备份表,其中有中文会出现乱码的解决方法。哪个朋友知道,请告诉我一下,急急急。谢谢

解决方案 »

  1.   

    应该是你的字集没有设置好,这里有两种方法你试试看:
    1.是在执行"select * into outfile 'backup.txt' from tb"之前,先执行set names gb2312或者gbk.
    2.是修改你的my.cnf或my.ini,在[client]和[mysqld]下面都添加
    default-character-set=gb2312或gbk,重启mysql
    如果设置正确的话,就会有如下的结果:
    mysql> show variables like '%char%';
    +--------------------------+----------------------------------------------------
    -----+
    | Variable_name            | Value
         |
    +--------------------------+----------------------------------------------------
    -----+
    | character_set_client     | gb2312
         |
    | character_set_connection | gb2312
         |
    | character_set_database   | gb2312
         |
    | character_set_filesystem | binary
         |
    | character_set_results    | gb2312
         |
    | character_set_server     | gb2312
         |
    | character_set_system     | utf8
         |
    | character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
    ets\ |
    +--------------------------+----------------------------------------------------
    -----+又或者你使用别的备份方法,例如:mysqldump
    C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump -uroot -p --default-charac
    ter-set=gb2312 --opt test ck_2006_lu>c:/ck.txt
    其中test是数据库,ck_2006_lu是表名恢复可以使用
    C:\Program Files\MySQL\MySQL Server 5.0\bin>mysqldump -uroot -p 
     <c:/ck.txt
      

  2.   

    在配置文件里添加defalut_charset = utf8