RT!
在5.1.50上使用
create database if not exists server_info default character set utf8 collate utf8_general_ci;
建立的库。手动插入的数据。导出一个xxx.sql(文件打开不乱码!)到另外一个服务器上同样create database if not exists server_info default character set utf8 collate utf8_general_ci;
而后将导出的 sql倒回。结果就是不行!!!后来用
mysql -uroot -p --default-character-set=utf8 -f < xxx.sql;还是汉字乱码!!!求问为什么?+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     | 
| character_set_connection | latin1                     | 
| character_set_database   | latin1                     | 
| character_set_filesystem | binary                     | 
| character_set_results    | latin1                     | 
| character_set_server     | latin1                     | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

解决方案 »

  1.   

    自己搞定了。
    在mysql>
    SET character_set_client = utf8;
    SET character_set_connection = utf8;
    SET character_set_database = utf8;
    SET character_set_results = utf8;
    SET character_set_server = utf8;重新来了一遍就可以了。就是不知道,会对系统中其他库产生什么影响。。
      

  2.   

    set names gbk先试一下,DOS并不能很好的支持UTF
      

  3.   

    在MYSQL.INI的MYSQLD下添加
    default-character-set=UTF8重新启动服务。
      

  4.   

       mysql 安装目录--- my.ini   再open它找到default-character-set=latin1 ,两处替换成default-character-set=UTF8  或者  gbk  两种都行!
      

  5.   

    设置了default-character-set=UTF8。但是在查询中还是必须用SET character_set_client = utf8;SET character_set_connection = utf8;SET character_set_database = utf8;SET character_set_results = utf8;SET character_set_server = utf8;
    囧。。
      

  6.   

    对头这个很方便,那个文件就在mysql的安装目录下。
    另外可以利用mysql server instance config wizard设置字符集,\bin\MySQLInstanceConfig.exe
      

  7.   

    目前是每次查询都
    mysql -uroot -p -e 'set names utf8;use server_info;show tables;'添加上粗体的这一句。在/etc/my.cnf中已经有了
    character_set_server=utf8
    character_set_client=utf8
    #character_set_connection=utf8
    #character_set_database = utf8;
    #character_set_results=UTF8那两行红字的注释一旦打开就报错!!!
      

  8.   

    哥们,你说的乱码是在哪里显示的呢,同一个编码在不同的地方显示的效果也会死不一样的,例如,所有汉字数据都以UTF-8的编码方式存放在数据库中,你从数据库中取出开放到页面上一切都会很正常,但是如果你使用MYSQL的黑窗口工具查看数据库中的信息,你会发现所有的汉字数据都是乱码