您当前的位置:首页 > 帝国CMS教程

怎样解决帝国GBK转UTF-8的问题

来源:帝国CMS教程发布者:帝国CMS模板网时间:2010-04-06
第一次用帝国cms时下载的是简体gbk 版本的,后来由于虚拟主机挂掉了,网站就没有去管它了,不过还好我备份了数据。
  过了一段时间后,还是想把网站再重新恢复起来,当然还是得用帝国cms的程序。但是这次我下的简utf-8 版本的。我根本不知道这会给我的网站带来什么致命的后果。
  将下载的简体utf-8 版本用ftp软件上传到虚拟主机,然后安装,一路顺利,满心窃喜,以为网站恢复也太简单了,马上就能成功啦。
  网站安装成功后,接着就是上传以前备份的网站数据。数据全部上传成功后,接着就在帝国后台备份/恢复数据处恢复数据,过了1分钟,数据恢复完毕,以为所有的事情大功告成。进行数据更新后,进入首页发现页面一片空白,什么也没有。这下我傻眼,刷新了好几十次问题依旧,看来是真的出问题啦。
  这时我才慢慢意识到,问题的根源是网站备份的数据我重新安装的帝国cms程序的编码不对。备份的数据当时是在简体gbk 的编码模式下备份的,而我重新安装的程序是utf-8的。网站内容显示不出来就不足为奇了。
  但是有没有什么办法把代码转换呢?
  于是我试着在帝国cms后台的模板管理里把修改首页模板的gb2312改为utf-8,然后数据更新首页。哇塞,首页能显示内容了,说明这个方法是可行的。
  但是,随之而来的问题是,网站的页面和模板那么多,我一个个手动去改,不仅工作量大而且还会遗漏掉一些页面或模块。有没有什么更省时省力的办法呢?
  这个办法终于被我摸索到了:
  1、进入帝国cms后台模板管理右侧最下面的其他管理批量替换模板字符,进去以后原字符填写 gb2312 ,新字符填写 utf-8 ,选中全部替换。进行了这一步后,为了保险起见,最好进入数据更新按照帝国cms的网站迁移教程更新数据。此时,网站首页,内容页应该都不会有乱码啦。
  2、但是有一个问题也有可能出现,就是你登陆后台增加信息时,页面会部分出现乱码,
  这个问题我琢磨了好久,也找了很多资料,都没有解决。后来看到帝国论坛里有位网友提了句更新模型什么的。于是我就去找更新模型在哪里,原来所谓的更新模型就是后台数据更新里批量更新模型表单,你把这个更新了以后,网站再也不会有任何地方有乱码。
  所以,即使你是的网站从gbk转到utf-8的,都可以用这种方法方便快捷地进行编码转换以解决乱码问题