更换空间遇到的问题,更新中。。。

2016-07-07 15:37 来源:www.chinab4c.com 作者:ecshop专家



最近,更换网站空间。
在新空间安装完成之后,
导入以前备份的数据,总是出错,
原数据库mysql 版本: 5.0.22-log , php 5.2.4 , linux, gbk
现在的mysql 版本: 5.0.22 , php 5.1.6 , linux, gbk

MySQL server error report:Array ( [0] => Array ( [message] => MySQL Query Error ) [1] => Array ( [sql] => CREATE TABLE `ecs_account_log` ( `log_id` mediumint(8) unsigned NOT NULL auto_increment, `user_id` mediumint(8) unsigned NOT NULL, `user_money` decimal(10,2) NOT NULL, `frozen_money` decimal(10,2) NOT NULL, `rank_points` mediumint(9) NOT NULL, `pay_points` mediumint(9) NOT NULL, `change_time` int(10) unsigned NOT NULL, `change_desc` varchar(255) NOT NULL, `change_type` tinyint(3) unsigned NOT NULL, PRIMARY KEY (`log_id`), KEY `user_id` (`user_id`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk DEFAULT CHARSET=utf8 ) [2] => Array ( [error] => Conflicting declarations: 'CHARACTER SET gbk' and 'CHARACTER SET utf8' ) [3] => Array ( [errno] => 1302 ) )

哪位高手分析一下,是哪里的问题、

另外, 请问如何修改后台, 文件上传的最大大小2M ? 原来空间显示8M, 新空间2M ,如何调整呢?

0804凌晨:
看来好多前边的帖子,有所帮助, 大家多数都提到了
ENGINE=MyISAM DEFAULT CHARSET=utf8
不知道为什么,我搜到的论坛关于这个问题的帖子,都统一说,要修改这里为utf8, 没有一个提到gbk的。 所以,我不得不认为,不管用的那个代码的系统,都要在这里修改为 utf8.
于是我照做了。 尽管我的系统编码是GBK的。同时也修改了 mysql , php 版本。
然后我测试导入数据,真的就导入成功了。但是, 当浏览数据时, 商品,订单,客户等,数据都是乱码显示。
晕。
我使用的是GBK 的ECSHOP 系统。 备份出来的文件也清楚的写着ENGINE=MyISAM DEFAULT CHARSET=gbk, 从头到尾没有出现utf8 字样, 可是,导入就出错,说是代码不对。 给备份文件修改为utf8 导入就成功了, 但是系统显示确成了乱码。 能不晕吗?
但,不管怎么说,还是有进展了。 看来问题就出在了代码这里。

顺便说一句, 其中的一个文件里出现了2出简短的乱码,不重要的百度关键词,我随便给改了过来,问题就解决了。 但是,不知道,乱码是如何产生的, 如果是重要的关键数据部分,又找不到对应信息,怎么办呢?

0804 凌晨2点
发现备份文件的第一个和4个文件中,ENGINE=MyISAM DEFAULT CHARSET=gbk 没有错, 但是出现了2次的 utf8 . 如下:

session_id` char(32) character set utf8 collate utf8_bin NOT NULL def

以后再另一个表中出现,好像也是这个样子。 无法正常导入是不是他造成的呢?导入失败,可以没有的提示信息,可是和这部分内容不相干的。
请专家分析。

0804 凌晨 3点
问题解决了。 直接的。
查到了前边一个大侠针对这个问题的解决方法, 哈
http://bbs.ecshop.com/viewthread.php?tid=73470&highlight=gbk

回答:
您查看下您的备份数据文件 里的建表语句中是否有
ENGINE=MyISAM DEFAULT CHARSET=utf8
或者是
ENGINE=MyISAM DEFAULT CHARSET=gbk的



我查了,文件中包含
ENGINE=MyISAM DEFAULT CHARSET=gbk;
语句,
但是没有任何“ utf8” 。
我的版本就是gbk 的。
这样正常吗?

刚刚注意到, 我的原来mysql 版本是5.0.22-log, 当前空间的是5.0.22
会不会是因为这个造成的?

请提供一份ecs_account_log 该表的建表语句

问题已经解决。谢谢。