mantis数据库迁移的简单研究

之前在将单位工作中正在使用的mantis系统从1.0.6升级到1.1.1后,出现了很多问题,最近一直在想办法解决,包括重新搭建一套一模一样的环境用于测试出现的问题。 迁移后出现的问题1:升级后,老的用户页面显示正常,迁移后新建的用户有显示为乱码的情况,而且,windows用户是页面头部正常,页面表格部分内容为乱码。 迁移后出现的问题2:mantis查看问题的页面无法显示。但在我用于解决问题的环境中,却没有这个问题。 解决方法: 刚一开始,我一直认为页面的乱码问题是由于浏览器的版本或是不同软件造成的,直到在网上发现了“Upgrading to Mantis 1.1.1 from Mantis 1.0.x”的文章,才发现,是由于mysql数据库迁移的时候,导入,导出的时候,需修改导出文件的编码。详细内容见文章内容http://www.pagkaon.com/kaon/blog/2008/05/05/upgrading-to-mantis-111-from-mantis-10x/ 按照文章中的内容,把导出文件内容中latin1替换成utf8,并在新建数据库时CREATE DATABASE `bugtracker` DEFAULT CHARACTER SET utf8,导入数据时mysql --default-character-set=utf8 -u root -p bugtracker < dump.sql。 至于前面说的升级后新建的用户与老用户查看问题不一样的情况,是这样的,在刚升级成1.1.1版本的时候,页面显示为乱码,后在mantis目录下的config_inc.php文件中,把$g_default_language 从‘ chinese_simplified_utf8’改成'chinese_simplified_gb2312'后,页面显示就正常了,但再建立新用户的时候,新建的用户就又显示乱码了,最后发现,mantis的相关一表中有一个叫mantis_user_pref_table的表,里面记录了用户使用的字符集,原来的用户是用utf8字符集创建的,用户使用的字符集就是utf8,但现在系统的默认字符集是gb2312,但提交的文字是以utf8格式存在数据库中的,所以会出现乱码的情况,这个时候,只要把系统默认字符集改成utf8,然后把mantis_user_pref_table表中的language列改成‘ chinese_simplified_utf8’就可以了。 关于mantis查看问题的页面无法显示,本人还没有解决,不过怀疑与php的版本有关系,现在有问题的这台服务器PHP版本为5.1.6,但在我那台测试用的服务器上就显示正常,那台服务器上PHP的版本为5.2.6。 常用命令如下: 1. Create a backup of your old data. mysqldump --default-character-set=latin1 -u root -p bugtracker > dump.sql 2.edit dump.sql use vi program replace latin1 to utf8 %s/latin1/utf8/gc 3.CREATE DATABASE `bugtracker` DEFAULT CHARACTER SET utf8 4.mysql --default-character-set=utf8 -u root -p bugtracker < dump.sql[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/378829/viewspace-1019463/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/378829/viewspace-1019463/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值