之前我是从一台电脑把一个数据库通过 “转存sql文件的方式”导出*.sql文件,然后去另外一台电脑反选命令导入,但死活导不进去,就出错,以为是编码问题,后来仔细看了,编码绝对一样
刚才我又试了,就在一台电脑上,导出后又导入都会出现 一样的情况,真是怪了。
说一下错误的原因:
由于有一个字段是text类型,保存过去的数据是BLOB,查我相关资料是说二进制数据,这也罢,但同一个样的类型,另外一个就可以导入进去的,只是里面数据没有多大,当然类型一样是text的
下面来几张图吧。OK,这是一个类型为text的字段,正常导入了,对应的二进制数据是:
INSERT INTO `review` VALUES ('1', '3', '4', '5', '5', '5', 'no', null, '80', '7', '2012-11-27 23:46:08', '1', '2');
INSERT INTO `review` VALUES ('2', '2', '5', '2', '4', '4', 'no', null, '600', '7', '2012-11-27 23:52:06', '1', '2');
INSERT INTO `review` VALUES ('3', '4', '4', '4', '0', '0', 'no', 0x3C703E0D0A093132333435363C2F703E0D0A, '30', '2', '2012-11-29 10:45:09', '1', '2');
INSERT INTO `review` VALUES ('4', '4', '4', '4', '0', '0', 'no', 0x3C703E0D0A093132333435363C2F703E0D0A, '30', '2', '2012-11-29 10:45:09', '1', '2');
但是另外一个表也是这个类型,看图片
感觉上就是因为那一长串东西,如下下面:
0x3C703E0D0A09E8BF99E698AFE6B7BBE58AA0E79A84E7ACACE4B880E4B8AAE7BE8EE9A39FE69687E4BBB63C2F703E0D0A
解决后有中文,就又出来插入不进去,不解,这是mysql的bug么
在线求解????

解决方案 »

  1.   

    中文好像是不能用Insert语句插入
      

  2.   

    mysql --default-character-set=xxx这样导入
      

  3.   

    是不是最大包问题, 把max_allowed_packet  (好像是这个) 设的大一点,默认好像是1M,你可以设为1024M
      

  4.   

    字符集设置的问题,按下贴中方法进行检查并贴出结果以供分析。http://blog.csdn.net/acmain_chm/article/details/4174186
    MySQL 中文显示乱码
    最近关于中文显示乱码的贴子比较多,所以也做了个总结:可以参考一下杨涛涛版主的《各种乱码问题汇总》http://topic.csdn.net/u/20071124/08/3b7eae69-ed1d-4a77-8895-9930bf3601af.htmlMySQL字符集的原理介绍。摘录于官方文档。http://dev.mysql.com/doc/refman/5.1/zh/charse...
      

  5.   

    我可以肯定的说不是乱码问题
    我说详细一点吧,我在同一台电脑,先进行如下操作:然后重新建一个其它的数据库,再进行如下操作OK,这就是我的错误,提示的那个字体为text类型
      

  6.   

    就是向一个text字段插入类似这样字符的时候提示错误
    0x3C703E0D0A09E8BF99E698AFE6B7BBE58AA0E79A84E7ACACE4B880E4B8AAE7BE8EE9A39FE69687E4BBB63C2F703E0D0A
      

  7.   

    我就用的Navicat for mysql  这有导入导出会有问题么?
      

  8.   

    Navicat可以完成你的任务。
    lz可以看看。