查看: 278|回复: 3

Discuz! X 数据库转码方案及使用工具(GBK和UTF8互转)

[复制链接]

159

主题

389

回帖

665

积分

高级会员

积分
665
发表于 2023-4-20 12:23:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注意本工具只兼容到了X2.5,仅供参考,涉及数据库操作一定要备份

convertdb.php

放在Discuz X 系列根目录。
1、会读取config_global.php这个文件中的配置信息。
2、会把配置信息中的整个数据库中的表都做转换,如果有多个应用都在一个库中,需要注意避免把其他表也转了。
3、使用 ALTER TABLE table_name CONVERT TO CHARACTER SET charset 命令进行转换。
4、数据库过大可能转码过程需要很长时间,php会超时,建议使用命令行来进行转码(convertdbcli.php)。

serialize.php 序列化整理工具
放在WEB程序根目录,这步在数据库转码后使用。目前分别做了UCHOME2.0 Discuz! X2 Discuz! X2.5 的兼容处理。

转码步骤:
1、备份数据库
2、使用convertdb.php 进行数据库转码,此步如有权限,可以使用命令行版工具进行。
3、转码后编码对应的程序版本覆盖现有的程序。
4、在配置文件中个更改编码(例如 原来 $_config['db']['1']['dbcharset'] = 'gbk'  改为 $_config['db']['1']['dbcharset'] = 'utf8')
      上面注意一点,在Discuz! X 的配置文件中要更改数据库编码和输出编码,输出编码的utf8 写成 'utf-8'
5、使用序列化整理工具,整理数据库中的序列化字段。

免责声明

1.本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
2.如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。

上一篇:discuz论坛GBK转UTF8后一些实战记录存档!
下一篇:QQ互联审核不通过:点击QQ登录按钮提示登录失败或出现错误...

回复

使用道具 举报

161

主题

364

回帖

620

积分

高级会员

积分
620
发表于 2023-4-20 12:23:45 | 显示全部楼层
前排支持一下。
回复 支持 反对

使用道具 举报

114

主题

372

回帖

559

积分

高级会员

积分
559
发表于 2023-4-20 12:24:12 | 显示全部楼层
3.4有人会转吗吗?
回复 支持 反对

使用道具 举报

128

主题

370

回帖

595

积分

高级会员

积分
595
发表于 2023-4-20 12:24:29 | 显示全部楼层
学习+收藏
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表