打开.sql文件,查看create table语句,看看type=?

解决方案 »

  1.   

    哦,刚才说错了,sorry!应该是DEFAULT CHARSET=?TYPE=MyISAM DEFAULT CHARSET=?
      

  2.   

    在原来用mysqldump 导出的sql文件中,没有default charset语句,只有type=MyISAM,导入新数据库后default charset = utf8
      

  3.   

    谢谢,54xx()
    不过能不能解释的再清楚一些?例如我数据表中有这样的一个字段User_Name CHAR(50)在Mysql 4.0.x中默认的是GB2312编码,现在导入到Mysql 4.1.x中后,该字段显示乱码(Mysql 4.1.x设置utf-8为默认编码)。我现在想把这个字段的内容转变为utf-8编码存放,你的“把charset改为binary”具体是怎么操作的?是在导入前修改表结构,再导入Mysql 4.1.x?还是导入后修改?谢谢。
      

  4.   

    f2bx(笨笨熊) 54xx()
    说的方法把问题解决了吗?
      

  5.   

    我是这样做的,先在4。0里面,用mysql-front把库导出来成sql,含数据。然后修改sql,在没个表的sql后面,也就是ENGINE=MyISAM 后面加上DEFAULT CHARSET=binary.然后再用mysql-front在4.1下导入。
      

  6.   

    sorry,几天没上这里了,才回复!
      

  7.   

    请问这样的修改,在4.1的数据库里面,中文字符串是以什么编码方式存放的?是binary方式的吧,由于我的(简体、繁体)B/S系统都需要使用这个数据库,我想在数据库中用utf-8编码,按照你说的方法能行吗?谢谢
      

  8.   

    4.1加入了国际语言的支持,你说的情款我没有做过,你可以试一下,导几个有代表性的表,试一下!
    varbinary和以前的varchar是对应的.
      

  9.   

    我也是这样的问题,已经解决
    用最新版本的phpMyAdmin或者Mysql Administrator管理Mysql 4.1.x
    执行数据库查询前,先执行以下语句:
    SET CHARACTER SET utf8
    然后进行数据库查询,这仅在PHP环境下试过,其他语言不知是否可行<?phprequire_once "./include/classes/phplib/db_mysql.inc";$db = new DB_Sql();
    //连接数据库
    $db->connect("test","localhost","root","");
    //执行查询
    $db->query("SET CHARACTER SET utf8");
    $sql  = "select * from `tablename`";
    $sql .= "ORDER by `id` DESC LIMIT 0,10";
    $db->query($sql);
    ......
    ?>
      

  10.   

    谢谢楼上的几位,我去试试我还有一个问题,因为我现在的这个项目同时给大陆、港台地区的同事使用的。那么在港台地区他们使用的是繁体或者英文操作系统,他们在填写完表单后提交的内容是什么编码?如果网页用UTF-8编码的话,那么他们提交的表单内容也是UTF-8编码的吗?如果已经是UTF-8编码了那么在INSERT之前就不用编码转换了是吗?大陆也同样有这样的疑问,谢谢
      

  11.   

    对,如果网页是UTF-8,那么insert进去也是UTF-8,相反,如果是其他的,那在insert前就要转一下,用iconv不
      

  12.   

    问题解决了么?
    首先需要确定Mysql的charset是否全为utf8;
    使用mysql> show variables like 'char%';
    显示:
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    7 rows in set (0.00 sec)
    才说明mysql完全的支持UTF8编码。
      

  13.   

    不论insert、update、select之前,都执行一次SET CHARACTER SET utf8就可以了