如何将dedecms编码转换:gbk互转UTF-8
data/commonincphp
<php
//数据库连接信息
$cfg_dbhost = 'localhost';
$cfg_dbname = 'root';
$cfg_dbuser = 'root';
$cfg_dbpwd = '你的数据库密码';
$cfg_dbprefix = 'dede_';
$cfg_db_language = 'gbk';
>
其实这个问题是因为function ParCv() 并没有封装在类 dedesqlclassphp里。
打开include/dedesqlclassphp找到if(isset($GLOBALS['arrs1'])){ $v1 = $v2 = ”; for($i=0;isset($arrs1[$i]);$i++) { $v1 = ParCv($arrs1[$i]); } for($i=0;isset($arrs2[$i]);$i++) { $v2 = ParCv($arrs2[$i]); } $GLOBALS[$v1] = $v2;}
替换为
if(isset($GLOBALS['arrs1'])){ $v1 = $v2 = ”; for($i=0;isset($arrs1[$i]);$i++) { $v1 = chr($arrs1[$i]); } for($i=0;isset($arrs2[$i]);$i++) { $v2 = chr($arrs2[$i]); } $GLOBALS[$v1] = $v2;}
替换后清除下浏览器缓存,在进入前台和后台就显示正常运行了。
转载自:无忧
首先登陆dedecms网站后台,使用系统菜单下的数据库备份/还原功能,将网站的数据备份,记住要备份数据表结构,然后使用FTP工具将备份好的数据文件下载到您的电脑上。
备份的文件中有tables_struct_xxx这样一个文件,用dreamweaver或EditPlus打开这个文件,使用查找与替换命令,将CHARSET=gbk替换为CHARSET=utf8,然后要保存。
打开准备的转码软件,将第所备份的文件(包括上面修改过的文件),将GBK转换为UTF-8格式。
当然,转换好的文件一定是在一个新的文件夹里面,以便区分原来的GBK的文件。
至此这一步,我们就将数据库文件由GBK格式成功的转换为了UTF-8格式。
然后重新安装新的UTF-8编码的dedecms程序,将转码后的数据库备份文件上传覆盖到对应的数据库备份文件夹,接下来进登陆网站后台,打开系统菜单,使用备份/还原数据库命令,选择数据还原,勾选所有文件,执行还原命令我们就完整的将DedeCMSGBK版本转换成了DedeCMSUTF-8版本了。
如需UTF-8转GBK,将上面的软件转换过程中软件里设置成UTF-8转GB
希望能帮到你
当前安装版本为: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 编辑器修改,完毕后,上传覆盖即可。
0条评论