织梦GBK/GB2312转utf

2022-08-18 319

目前MIP对编码是有严格要求,必须是UTF-8,那么对于大部分GBK或者GB2312的用户只能先将网站整体进行编码转换,才能进行MIP改造,不然改造后的页面是乱码一大片。

为什么MIP只支持utf-8?目前部分手机自带浏览器仅支持UTF-8,打开GBK的网站会出现乱码,所以为了手机的兼容性,MIP在这里规范了网页的编码为UTF-8。同时建议大家做网站尽量使用UTF-8,不仅是国际的主流编码,而且网站的质量也会有所减小。同时本教程适用于其他PHP系统的cms,大概原理就是UTF-8程序替换,模版转码,数据库转码,这三部分的操作。详细讲解如下。


★ 转码准备工作——备份原GBK网站


在转码前,我们要有一些准备工作和注意事项

首先,针对GBK(GB2312)原网站,进行备份,步骤如下:

第一,利用后台数据备份功能进行数据库备份,进入后台,依次点击,(或者用 帝国备份王)

      系统—系统设置—数据库备份/还原  这里出现数据库表单,

      在这里点击“确定”进行数据库备份,根据数据库大小,备份时间长短不一。

第二,等待数据库备份完毕之后,将网站根目录下面所有文件进行打包,备份

到这里网站资料以及数据库备份完成。

进行整站备份的目的是,防止转码失败后,进行整站恢复。

完整的织梦网站分三部分,程序、模版、数据库,我们依次针对这三部分进行转码操作。

转码的原理就是

用帝国数据备份王进行数据库转码,

用织梦UTF-8的程序直接替换GBK的程序,

用网页编辑器进行模版转码。


★ 转码工作拆解之数据库转码


数据库转码,测试了几种方式,发现转码最安全最完整的方式就是使用帝国数据备份王

下载地址    ebak点phome**/   我们在压缩包得到

这个upload可以改成其他名字再放到网站里面,比如我改成 shuju

然后把这个目录放到网站下面,访问地址就是  域名/shuju

默认的后台admin  密码123456

登陆之后,出现一个数据库设置,我们要把原网站使用的数据库地址,数据库用户,数据库密码依次输入设置好。(可能要修改默认登录密码和随机验证码,自己修改一下吧)

然后点击“备份与恢复数据库”下面的“备份数据”

会出现你原来网站的数据库,点击数据库后面的“备份数据”

此时出现的页面,十分重要但是也很简单,就在这里进行转码

这里我们要手动选择 utf8 然后备份出来的数据库,就是utf8了,也就是被转码了

存放目录要记一下,因为我们备份完,就要还原,还原的时候要用到它

点击下面的“开始备份”一会就自动备份好了

备份完,我们要把转码后的数据库还原回去,下面先进行程序和模版转码,程序和模版转码后,我们再恢复数据库。


★ 转码工作拆解之程序转码


程序转码大概步骤是,完成备份之后,保留备份包,然后清空网站空间(只清除网站空间的资料,帝国数据备份王不要清理,恢复数据还要用!),下载新的UTF-8的程序,进行安装,此时完成程序部分的转码工作。

程序下载地址: www点dedecms**/products/dedecms/downloads/ 选择UTF-8的进行下载,下载解压,我们得到的 uploads里面的文件就是程序的内核文件,上传到网站空间

安装步骤详解,这里懂织梦安装的扫一眼跳过。直接到下一步模版转码。

第1步,运行  您的域名/install/index.php

第2步,勾选,我已经阅读并同意此协议,点击继续

第3步,如果下面出现继续,点击继续进行下一步,至于红叉什么的一般不用管,如果不出现继续,说明你得空间有问题,请自己自行查找空间的原因。

第4步,这里是最重要的一部分,根据上图,模版选择那里我们基本不需要选择什么,开始第二块,数据库设定,这里涉及到几个概念“数据库主机”、“数据库名称”、“数据库用户”、“数据库密码”、“数据表前缀”、“数据库编码”。请自己将空间商或者自己创建的数据库信息对照着填写完整。

第三块,管理员帐号密码,自行填写

第四块,网站设置这里,网站名称改成你自己的,其他一般不需要动,尤其是Cookie加密码这个尽量不要动,其他的在后台都可以改的

不要勾选初始化数据进行体验,直接点击继续,就安装完成了!

我附上我的安装参数给大家看一下。

出来下面的界面,证明你安装成功了

程序转码部分到这里就完成了,此时,我们得到一个空白的UTF-8的织梦网站。


★ 转码工作拆解之模版转码


请务必用专业的网页编辑软件进行此步操作!

我建议大家使用dreamweaver或者Notepad+,当然网上也有针对模版批量GBK转码utf-8的小工具。不能用记事本更改!前端可以跳过模版转码的教程。

首先我们要在备份的网站资料里面,分离出我们的模版文件,其中有程序模版文件一般在网站根目录的templets文件夹下面的某个文件夹,还有css以及js文件,需要自行查找,进行替换转码由于模版文件和样式文件尽不相同,我在这里只用dreamweaver替换一个网页做演示,其实前端看到这里就笑了,这真是废话连篇……

用dreamweaver打开其中一个模版文件。

依次点击 修改—页面属性—标题/编码—编码,此时出现的应该是如图

我们将简体中文(GB2312)选择成 Unicode(UTF-8),

点击确定,这个模版文件就成功了,按照这个方法将所有提取出来的模版文件,进行转码。转码完毕后,上传到新安装的UTF-8的网站相应的位置。

★ 转码工作收尾—恢复网站

到这里,数据库转码但未恢复,程序转码完毕但是空白数据,模版转码完毕

这时再使用帝国数据备份王,恢复数据库

依次操作步骤是,登录  域名/shuju

点击“备份与恢复数据库”下面的恢复数据,选择数据源目录,就是刚才备份数据库那个目录,下面在“要导入的数据库”选择数据表(就是原网站数据表),点击开始恢复。

恢复后,原来的GBK数据库就被转码成utf8了。

这里,我们得网站就从GBK完整的转码成utf-8,就可以改造MIP了。


★ 转码注意事项


1,如果程序做过改动或者二次开发,不建议进行转码

2,转码后登陆后台,依次点击,系统设置-系统基本参数,在站点设置这里,点击一下确定

3,如果生成或者模版出现错误,要依次点击  生成-自动任务-更新系统缓存

4,织梦模版标签要尽量使用最兼容的模版标签

织梦的转码过程也可以应用到其他PHP的CMS系统转码。