Discuz论坛程序简单转码:从GBK到UTF-8的编码转换

网络技术 羽度非凡 2017-12-08 12:43 167 0

        如今大多数的网站程序都开始倾向UTF-8编码,同时开发者开发的模板和插件也都逐渐向UTF-8编码格式靠拢,UTF-8和GBK最大的区别就是对网页语言的支持不同,GBK编码对于中文有着非常好的兼容性,但UTF-8对语言的支持则更加宽泛,是全球通用的语言编码。

        举一个非常简单的例子可能会更直观,例如羽度非凡博客目前使用的ZBlog程序是UTF-8的编码,如果一位使用英文版Windows操作系统的用户或者使用非简体中文版Windows操作系统的用户在访问羽度非凡博客时,呈现的效果和我们看到的是一样的。但如果我的博客使用的程序是GBK编码,那么使用非简体中文版的操作系统访问我的博客网站,网站中的所有文字可能全部都会显示乱码。

        之前我曾介绍过织梦程序整站编码转换的方法,今天这篇文章就来介绍一下Discuz论坛程序的编码转换。相较织梦程序的转码步骤,个人认为Discuz程序从GBK到UTF-8的编码转换会更容易一些。


        1.Discuz数据库备份转码

        这里共介绍两种方法,一种是使用PHPMyAdmin程序辅助导出数据库,在导出数据库时选择“Export method:”下面的“Custom - display all possible options”,然后在展开的菜单中将“Character set of the file:”设置为“UTF-8”后进行导出,这样导出的数据库文件可以直接保存为UTF-8编码模式。

Discuz编码转换

        第二种方法是登陆Discuz程序的后台管理界面中,打开导航栏中“站长”菜单中的“数据库”,在右侧窗口勾选“更多选项”。

Discuz编码转换

        然后在展开的菜单中找到“强制字符集:”勾选“UTF8”选项后“提交”,备份完成后会显示存放备份文件的目录,一般会在/data目录下新建一个文件夹进行存放,通过FTP工具将备份的数据库文件下载到本地保存。

Discuz编码转换

        2.Discuz整站程序备份转码

        将Discuz整站程序打包并通过FTP等方式下载到本地完成备份后,到Discuz官网下载Discuz的UTF-8版程序,将Discuz的UFT-8版程序上传至服务器并进行全新安装,然后从之前备份的整站程序中将之前网站的LOGO、Banner等图片以及附件等文件上传到新网站程序对应的位置。

        3.Discuz数据库恢复

        恢复数据库的方式与备份数据库的方法一样有两种,可以将备份的数据库文件通过PHPMyAdmin导入至新的数据库中,如果在导入之后报错的话,使用PHPMyAdmin将新装的Discuz对应数据库中的表数据全部删除,再重新导入之前备份的数据库文件。

        另一种方式是利用Discuz管理后台的“站长”菜单“数据库”中的“恢复”,将之前备份的数据库文件夹上传到/data目录,然后从全新下载的Discuz程序“utility”目录中找到restore.php文件,将这个文件上传到/data目录中,然后通过在浏览器中执行http://你的域名/data/restore.php完成数据库的备份恢复,为了网站的安全性,在完成数据库恢复之后删除/data目录下的restore.php文件。

        4.Discuz数据库配置文件修改

        Discuz程序共有3个数据库配置文件:

网站数据库配置文件:/config/config_global.php

UCenter与网站通讯的配置文件:/config/config_ucenter.php

UCenter数据库配置文件:/uc_server/data/config.inc.php

        将以上三个文件使用记事本等文本编辑软件打开,将其中的数据库名称、数据库用户名、数据库密码以及数据表前缀等信息修改为与当前数据库信息保持一致的信息。

        5.Discuz更新站点缓存

        如果安装了第三方的网站模板或插件的话,可以到Discuz的应用市场重新下载模板和插件的UTF-8编码版本。以上步骤全部完成之后,进入Discuz管理后台的“工具”中,选择“更新缓存”并点击“确定”即可完成站点缓存的更新。

Discuz编码转换

        至此,Discuz论坛程序就完成了从GBK编码到UTF-8编码的转换,如果是要从UTF-8编码转换成GBK编码的话,主要的步骤基本一致,唯一的差别就是在数据库转码时要使用帝国备份王等第三方数据库备份软件或数据库转码工具将数据库的编码从UTF-8转成GBK。

评论区

精彩评论