我的mysql编码是用utf8.如果mysql用gbk或者gb2312,sql server中任一字段(varchar类型)中有中文,导入时都会提示"Data too long for column '字段' at row 1 "的错误,请教该如何解决,谢谢.

解决方案 »

  1.   

    首先你mysql的字符集应该设置成这样:
    mysql> show variables like '%char%';
    +--------------------------+--------------------------+
    | Variable_name            | Value                    |
    +--------------------------+--------------------------+
    | character_set_client     | utf8                     |
    | character_set_connection | utf8                     |
    | character_set_database   | utf8                     |
    | character_set_filesystem | binary                   |
    | character_set_results    | utf8                     |
    | character_set_server     | utf8                     |
    | character_set_system     | utf8                     |
    | character_sets_dir       | d:\mysql\share\charsets\ |
    +--------------------------+--------------------------+
    8 rows in set (0.08 sec)然后,用使用mysql marigation toolkit, 一直到出现Set Parameter那个界面,点击进去,选择user defined,加入charset=utf8, collation= utf8_general_ci
    这样设置好后,就不会出现乱码了.
      

  2.   

    请问hy2003fly,你的mysql marigation toolkit是什么版本,为什么我的没有Set Parameter项.
      

  3.   

    操作到Object Mapping(可以从左边的流程图上看到)这一步,界面右边就会有一个"Set Parameter>>"的按钮,点击进去里面设好就可以了,不是版本的问题.
      

  4.   

    我的就五步,我用的是MySQL Migration Toolkit,与你的mysql marigation toolkit是同种工具吗?还是手误?:
    1.连接SQL SERVER.
    2.连接Mysql.
    3.选择数据库.
    4.选择表.
    5.数据库转换进度.
      

  5.   

    我的也找不到Set Parameter项