前端集合 - 关注前端技术和互联网免费资源

关注前端技术和互联网免费资源

分类儿

页面儿

搜索儿

前端集合 RSS订阅
Home » 经验记录 » 精华奉献:解决帝国cms由gbk改成utf-8而引起的乱码问题

精华奉献:解决帝国cms由gbk改成utf-8而引起的乱码问题

发布者:前端集合 // 发布时间:2009-09-13 22:15:18 // 分类:经验记录 // 访问: 5,093 次 // 热度:

第一次用帝国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的,都可以用这种方法方便快捷地进行编码转换以解决乱码问题。

Tags: 帝国CMS, cms, 故障, gbk转utf-8, gb2312, 乱码

网页设计经验小谈(三)>>  << 再说、又说、还说《卡农曲》
Top