MSSQL转MYSQL,gb2312转utf-8无乱码解决方法

使用软件:MySQLMigrationTool

提示数据过大,无法导入。修改my.cnf文件的max_allowed_packet = 100M以上。在windows操作系统中,my.cnf有可能显示不出来,需要用编辑器直接输入地址:盘符:\目录mysql教程binmy.cnf打开。

“there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause”,MSSQL一个表中有两个以上的日期时间字段使用了getdate()取默认值,去掉即可。

“BLOB/TEXT column '表名' can't have a default value”,此字段不允许使用默认值,去掉即可。

“The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs”,此表字段占用空间太大,适当减少其字段数量或长度。

运行软件后,点NEXT进入以下界面:

选择MS SQL SERVER,按提示填写,Connection String为:

jdbc:jtds:sqlserver://IP地址:端口(默认1433)/数据库教程名;user=用户名;password=密码;charset=gb2312;domain=

下一步为MySQL的信息,Connection String为:

jdbc:mysql://IP地址:端口(默认3306)/?user=用户名&password=密码&useServerPrepStmts=false&
characterEncoding=UTF-8

之后一路按提示进行。到此界面选择要忽略的表。

继续NEXT,如图所示进入此界面,此处设定字符编码,非常关键。

mssql 导入 mysql 不乱码 MySQLMigrationTool
MySQL GUI Tools 5.0 包含了 MySQLMigrationTool 这个工具可以完成我们的任务
此工具需要JRE update 8 以上的支持,可以去sun.com下载,速度很快。
http://www.java.com/zh_CN/download/manual.jsp
有的同学运行后导入mysql的结果是中文乱码 , 那是由于在一路next的中间有一个
选择编码的步骤, 此处务必选 user defined ,填上 charset=gbk,coll...tion的等于
gbk_chinese_ci , 就是把latin,和swidish的修改下,改成中文相应的。总之这里要看好
否则乱码就怪不了别人了。

然后一路next就是了。。。。

(0)

相关推荐

  • mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项

    选项配置 配置文件路径: /full/path/mysql/bin/my.cnf (默认为/etc/my.cnf ) [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=ut

  • MYSQL数据库使用UTF-8中文编码乱码的解决办法

    1.用phpmyadmin创建数据库和数据表 创建数据库的时候,请将"整理"设置为:"utf8_general_ci" 或执行语句: 复制代码 代码如下: CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 创建数据表的时候:如果是该字段是存放中文的话,则需要将"整理"设置为:"utf8_general_ci", 如果该字段是

  • MySQL GBK→UTF-8编码转换

    前言: 第一次写教程,其实算不得教程,只是想总结个转换的手记.如果中间有错误,或者办法不够理想,大家回贴研究下. 另外,我也希望我们论坛不仅仅作为闲聊的地方,也希望大家能活跃我们论坛的学习气氛,毕竟我们都来自一个应该给我们知识的地方,不论你从那里获得了多少你需要的知识. 好了,言归正传. 一准备: 环境:MySQL4.1.x及以上版本. Convertz--文本编码转换工具,molyx上介绍的,我采用的.其实这类工具很多. 二理论: MySQL从4.1版本开始内部存储字符集支持了UTF-8,这个

  • mysql默认编码为UTF-8 通过修改my.ini实现方法

    mysql汉字乱码的原因 mysql默认的编码是Latin1是I-8859-1的别名,但Latin1是不支持汉字的,所以要将其改为UTF-8或GBK 1.关闭mysql服务器,这个很重要. 2.通过my.ini设置mysql数据库的编码 在mysql数据库的安装根目录下找到my.ini,例:C:\Program Files\MySQL\MySQL Server 5.5 将其复制到桌面,双击打开, 搜索"default-character-set"将其改为utf8, 搜索"ch

  • 修改mysql5.5默认编码(图文步骤修改为utf-8编码)

    mysql数据库的默认编码并不是utf-8. 安装mysql后,启动服务并登陆,使用show variables命令可查看mysql数据库的默认编码: 由上图可见database和server的字符集使用了latin1编码方式,不支持中文,即存储中文时会出现乱码.以下是命令行修改为utf-8编码的过程,以支持中文. (1)关闭mysql服务 复制代码 代码如下: service mysql stop (2)修改 /etc/mysql/my.cnf  (默认的安装路径) 复制代码 代码如下: vi

  • php页面,mysql数据库转utf-8乱码,utf-8编码问题总结

    示例一: PHP页面转UTF-8编码问题 1.在代码开始出加入一行: header("Content-Type: text/html;charset=utf-8"); 2.PHP文件编码问题 点击编辑器的菜单:"文件"->"另存为",可以看到当前文件的编码,确保文件编码为:UTF-8,如果是ANSI,需要将编码改成:UTF-8. 3.PHP文件头BOM问题: PHP文件一定不可以有BOM标签,否则,会出现session不能使用的情况,并有类

  • MSSQL转MYSQL,gb2312转utf-8无乱码解决方法

    使用软件:MySQLMigrationTool 提示数据过大,无法导入.修改my.cnf文件的max_allowed_packet = 100M以上.在windows操作系统中,my.cnf有可能显示不出来,需要用编辑器直接输入地址:盘符:\目录mysql教程binmy.cnf打开. "there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause",MSSQL一个

  • PHP中文字符串截断无乱码解决方法

    一个比较好用的字符串截取函数: function substring($str, $start, $length){ //比较好用字符串截取函数 $len = $length; if($length < 0){ $str = strrev($str); $len = -$length; } $len= ($len < strlen($str)) ? $len : strlen($str); $tmpstr = ""; for ($i= $start; $i < $le

  • php查询mysql大量数据造成内存不足的解决方法

    本文实例分析了php查询mysql大量数据造成内存不足的解决方法.分享给大家供大家参考.具体分析如下: 一.问题 使用php查询mysql大数据量的时候,程序尚未执行完毕,跳出警告: Fatal error:  Allowed memory size of 100663296 bytes exhausted (tried to allocate 103 bytes) 错误提示:php所分配到的100M内存被占用完毕. 二.解决方法: 最简单的解决办法是:在执行文件的头部增加: ini_set('

  • MySql 修改密码后的错误快速解决方法

    设置好密码后,使用数据库时出现如下错误: ERROR 1820 (HY000): You must reset your password using ALTER USER statement befo re executing this statement. You must SET PASSWORD before executing this statement的解决方法 今天在MySql5.6操作时报错:You must SET PASSWORD before executing this

  • mysql导入导出数据中文乱码解决方法小结

    linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: 复制代码 代码如下: mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql 那么导入数据的时候也要使用-

  • mysql安装时出现各种常见问题的解决方法

    小编为大家整理许多mysql安装时出现各种常见问题的解决方法,供大家参考,具体内容如下 问题一: 当各位在安装.重装时出现could not start the service mysql error:0 原因: 卸载mysql时并没有完全删除相关文件和服务,需要手动清除. 安装到最后一步execute时不能启动服务的解决方法: 首先,在管理工具->服务里面将MySQL的服务给停止(有的是没有安装成功,有这个服务,但是已经停止了的),win+R->cmd,打开命令提示符窗口,输入命令:sc d

  • C3P0连接池+MySQL的配置及wait_timeout问题的解决方法

     一.配置环境 spring4.2.4+mybatis3.2.8+c3p0-0.9.1.2+Mysql5.6.24 二.c3p0的配置详解及spring+c3p0配置 1.配置详解 官方文档 : http://www.mchange.com/projects/c3p0/index.html <c3p0-config> < default-config> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数.Default: 3 --> <property

  • php读取mssql的ntext字段返回值为空的解决方法

    本文实例讲述了php读取mssql的ntext字段返回值为空的解决方法.分享给大家供大家参考.具体分析如下: 今天在使用php连接mssql数据库时发现ntext字段的内容无法显示,经过查询发现ntext字段在php中不被支持,解决办法我们只要把ntext字段改成text即可解决了. 如果是表里面没有ntext字段,可以用以下代码: 复制代码 代码如下: <?php  // Connect to MSSQL  $link = mssql_connect('KALLESPCSQLEXPRESS',

  • MySQL无法存储Emoji表情问题的解决方法分析

    本文实例讲述了MySQL无法存储Emoji表情问题的解决方法.分享给大家供大家参考,具体如下: 数据插入的时候报错: 1366 - Incorrect string value: '\xF0\x9F\x98\x81' for column 'job' at row 23 解决办法: 1.修改配置文件my.ini[D:\Program Files\MySQL\MySQL Server 5.5]: [mysql] default-character-set=utf8mb4 [mysqld] char

  • 解压版MYSQL安装及遇到的错误及解决方法

    1 安装 在 MYSQL官网进行下载相应的解压版本,然后放在你所想的目录下. 解压内容如下: 然后我们需要去创建一个名为my.ini文件,注意文件后缀一定要是.ini结尾,如果文件后缀隐藏了,可以将其勾选上,如图: 创建文件:my.ini. 其内容如下: [client] port=3306 default-character-set=utf8 [mysqld] # 设置为自己MYSQL的安装目录 basedir=D:\Program Files\mysql-5.7.24-winx64 # 设置

随机推荐