标签:改版 glob dmi highlight serve 数据库 cte 更新 char
由于discuz官方已经不更新了,现在又只有现成的utf8版本,没有gbk版本。我们原来使用的是gbk编码的,最近想改版,顺便升级一下,就索性把gbk也换成utf8吧,这样以后也方便,国际化嘛!
第一步:全新安装utf8版本的discuz 3.4 ,安装时选择ucenter非独立,除非你不想升级ucenter。不过貌似ucenter一直没什么更新,要不要独立安装,你们自己定。我是有洁癖的,想安装最纯净的,后面再剥离也行。
第二步:导出原数据,指定为utf8编码导出,表结构和数据要分开导出,数据量不大的,直接用phpmyadmin等客户端工具导出,如果数据量很大的话,还是建议在命令行下执行语句:
导出结构:
mysqldump -d -u root -p 数据库名 > /目录/struct.sql
导出数据:
mysqldump --default-character-set=utf8 -t -u root -p 数据库名 > /目录/data.sql
第三步:修改表结构struct.sql的默认编码,用文本工具批量把”gbk“换成”utf8“.
第四步:新建一个库,把导出的sql再以utf8的编码导入进去,同样视数据量大小决定是否用命令行,否则数据大的话,会导入超时。进入到mysql里面执行导入语句为:
source /目录/struct.sql; source /目录/data.sql;
第五步:修改config/config_global.php 、config_ucenter.php 和uc_server/data/config.php的配置。
第六步:进入discuz管理中心,更新缓存,完毕!
特别提醒:由于我的原来的版本是discuz3.2 ,升级到discuz3.4 ,数据库的某些表还是有一些变化的,可以用对比工具对比两个版本的表结构,在原来的表结构中相应的增加字段。如果是同版本转换,可以忽略。
discuz全新安装升级,导入旧数据过程,顺便gbk转utf8
标签:改版 glob dmi highlight serve 数据库 cte 更新 char
原文地址:https://www.cnblogs.com/mctt/p/8963352.html