DEDEcms,GBK和UTF8版本互相转换有什么方法

DEDEcms,GBK和UTF8版本互相转换有什么方法,第1张

接触帝国CMS和织梦dedecms有一段时间了。我们公司做站,无论是竞价站,推广站还是优化站,基本用的都是dedecms,因为不需要会员系统,所以也基本没多少安全性问题,但是很少用帝国cms。而我自己做站,因为考虑到安全问题,所以就选择了帝国。最初,我也是不太了解两者的区别,当时抉择了很久,不过幸运的是,我的选择没错。相信也有很多新手朋友在徘徊吧,今天爱建站公益网就把个人经验和大家分享下,以免新手朋友多走弯路。

  入手:从入手方面来说,的确,织梦更占优势,简单易用,功能齐全的确是大家都看得到感觉的到的,我就不多说了。帝国相对来说入手难些,有灵动标签和万能标签以及其他标签之分,也分各种模板、模板变量等等,比织梦复杂的多,而且模板是写在数据库里,所以入手帝国的模板,估计很多新手朋友感觉不太适应。

  做站的效率:对于新手来说,织梦套模板似乎更简单,而帝国可能需要熟悉万能和灵动标签用法,里面很多数字排列,相对难记,小编到现在还有些标签没完全记住,只是知道这个用法,有时还会需要去参考下才敢写,这样也就使得帝国做模板效率低了些,可能有的朋友做套简单的织梦模板一会就搞好了,但是帝国却要做几倍的时间。但这只是对于刚接触帝国的新手朋友而已,如果熟悉了帝国系统,你会发现做模板的效率不比织梦差多少。我现在接单很多客户都是要求用帝国做,一个简单仿站的单,单独去做真的最多几个小时就好了。我记得有次帮一个朋友做手机站(他提供html模板,我套标签),整站下来,大概7个页面吧,还有一个单独做的搜索页面,一共只用了2个小时左右。可以看得出来,熟悉以后还是很不错的。

  交接:这个主要针对特殊人群,比如像我们公司,四个点的站可能我们几个程序都要去修改,织梦无论是后台修改模板还是直接ftp传下来文件修改都是很简单明了的。但是帝国就不一样了,自己做的帝国站自己最熟悉,但是其他人接过去就先要熟悉你整站的思路,哪部分用的什么变量,哪里用的灵动标签,哪里用的万能标签,用灵动标签还好点,不涉及标签模板,如果是用万能标签,那又要蛋疼了,如果修改的东西在标签模板里,还要去找所在的标签模板,总之熟悉起来还是要点时间的。

  安全性:这个织梦真心没法和帝国比,织梦频繁更新各种安全补丁,但是帝国就是没爆什么漏洞,而且帝国模板都是存放在数据库,所以也不会存在被下载的问题,织梦就不同了,往往模板会被轻松地访问到。

  生成:感觉织梦用来做一些企业站还是很好的,但是用来做信息量大的门户站之类的,真不行,信息量多了以后,生成速度比帝国慢很多,而且很多朋友都反应信息量多了,织梦程序都要崩溃了,生成整站需要一天的情况都有。

DEDE整站生成静态的时候,首页、列表页、文章内容页都是生成HTML,当文档页面刷新的时候,点击次数是不变的,需要重新生成页面。经过分析dede内容页的field标签,解决方案如下:

  JS解决办法:({dede:fieldclick/}这个不能实时刷新,要使用JS调用。)

  内容页调用方法:在DEDE里面有一个php文件是专门用来统计点击次数的,这个文件叫countphp,我们只需要给它传递一些参数就可以获得文章的点击次数,调用的方式也是用JS来调用,这段代码大家也不需要去记,只要在用的时候复制进去就可以。

  这是文章页调用文章点击次数,{dede:field name='id'/}是文章ID。

  列表页和首页调用方法:在列表页和首页你可以在循环里面使用[fieldid /]获取,mid是发帖人,一般都是用admin帐号发文章,所以一般都是1。因为在list列表中不能有{},所以你就写实际地址:

  这样,首页和列表页的点击次数也就能够像文章内容页一样实时点击刷新了,尤其适合博客

当前安装版本为:dedecms v57 utf8,

目标将网站由UTf8版本转换为GBK版。

2

写在转换之前:

要转换dede系统的版本,实际上是编码的转换的问题,要将mysqls数据从utf8转换为gbk编码,将模板文件的编码也要转换为GBK模式。

在本文中两个核心工具,帝国备份王和Editplus 编辑器。

用ebak2008工具的备份/恢复功能,巧妙dede数据库utf-8编码的无错转换为gbk编码格式。

站点文件的转换就用Editplus 编辑器。

END

二数据的备份

1

在转换之前,将dede做整站备份,备份内容包括mysql数据库,dede站点文件,如果网站容量非常大的话,可以登录php空间管理后台将整个网站进行打包,然后下载。

备份的目的就是了防止转换失败后还有退路。

登录dede后台,选择“系统 ”中 “数据库备份/还原 ”备份dede数据库。

2

备份完毕,请登录ftp下载到本地电脑保存。

Dede备份数据存储位置:/data/backupdata

END

三数据库编码转换

1

解压缩ebak2008,将ebak2008文件夹上传到网站空间的根目录。

用帝国备份王(ebak2008)反向操作,强制转换dedecms v57 utf8版本的mysql数据编码为gbk。

2

打开帝国备份王(ebak2008)工具(地址为:原域名/ebak2008),登陆

3

在登陆后的帝国备份王界面,点击“备份数据”,

4

备份数据界面,选择要备份的数据库,请注意操作,别选错了。

5

非常重要!php虚拟主机安装的dede系统是utf8版,在备份的时候不能选择 “utf8编码进行备份 ”。在这里要反向操作(如果是utf8就选gbk,如果是gbk就选utf8)。

备份时请特别注意:选择数据库编码为gbk,不能选择其它方式,否则在转换后会出现乱码。

数据存储目录命名为:date_gbk_20150618160956。一般用默认的就可以了。

点击,屏幕最下方的 开始备份 ,等待完成操作!

END

四将gbk格式的dede数据库备份恢复到系统

登陆主机ftp后台,将原来的dedecms的目录dede,改为deded_utf8_bak

上传DedeCMS-V57-GBK-SP1tar,到主机后台进行解压缩,将其中的uploads文件夹改为dede,移动到public_html/目录中,此操作可以节省大量上传的时间

接着就可以重新安装dede系统了,安装过程不作演示

在安装DedeCMS-V57-GBK-SP1版时,按默认安装即可。安装完毕后,进后台将插件之类的也重新安装好

然后登录ebak2008数据库备份工具,选择“数据恢复”,恢复第二步骤中将utf8编码强制转换为gbk格式的数据库(date_gbk_20150618160956)。

帝国备份王(ebak2008)恢复数据仅需要50秒左右,速度相当的快。恢复数据后,请登录dede管理后台,重新生成一下网页。

检查首页无乱码,织梦网站管理系统(dedecms)utf8成功转换gbk。

进入网站管理后台,检查数据库表,Mysql数据表无乱码:

转换成功后的小错误,由于dede默认的utf8和gbk版本的差别,在转换成功后,“图文资讯”和“首页幻灯片”丢失,丢失的重新上传一下就OK!整个过程无报错,显示正常

再次进入主机后台找到dede_utf8_bak目录下的uploads下的alimg目录(这个目录就是首页和上传的存放的位置),把这个目录加入到剪贴板,

再进入dede目录下的uploads,复制剪贴板的文件到这里,这样就恢复正常了

本站使用的是dede默认的模板,所以在转换的时候没有改动dede的模板文件,如果你的网站对DEDE的一些文件没有改动,直接按照我的方法就可以成功转换。

如果有改动的文件,请将你改动的文件转换为gbk编码。

用Editplus 编辑器将站点文件中的utf8转换为gbk编码。

重点是dede模板文件编码的转换,细心的用Editplus 编辑器修改,完毕后,上传覆盖即可。

数据库不存在,看下commonincphp中数据库配置对不对,对着的话看下 /d2/indexphp 'a0305163425dede_homepageset' 中a0305163425是不是你的数据库名

首页调用文章内容页

{dede:arclist flag=h typeid=2 row=1 titlelen='200' orderby=pubdate}

<div class="data-news">

<dl>

<dt><a href="[field:arcurl/]" target="_blank">[field:title/]</a></dt>

<dd><a href="[field:arcurl/]" target="_blank">[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From `2d30_addonarticle` where aid='$aid' "); @me = cn_substr(strip_tags("{$row['body']}"),960);[/field:id]</a></dd>

</dl>

{/dede:arclist}

调用全文语句:

[field:id runphp='yes'] $aid = @me; $row = $GLOBALS['dsql']->GetOne("Select body From `dede_addonarticle` where aid='$aid' "); @me = "{$row['body']}";[/field:id]

DEDE调用当前栏目的相关内容标签:(标签如下)

<div> <dl> <dt><strong>相关文章</strong></dt> <dd> <ul> {dede:likearticle col='2' row='10' titlelen='42'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:likearticle} </ul> </dd> </dl></div>

DEDE调用整站所有栏目的相关内容标签:(标签如下)

<div> <dl> <dt><strong>相关文章</strong></dt> <dd> <ul> {dede:likearticle typeid='1,2,3,4,5' col='2' row='10' titlelen='42'} <li><a href="[field:arcurl/]">[field:title/]</a></li> {/dede:likearticle} </ul> </dd> </dl></div>

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » DEDEcms,GBK和UTF8版本互相转换有什么方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情