Discuz! X 数据库转码方案及使用工具(GBK和UTF8互转)
注意本工具只兼容到了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、使用序列化整理工具,整理数据库中的序列化字段。
转自 https://www.discuz.net/thread-3443658-1-1.html
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、使用序列化整理工具,整理数据库中的序列化字段。
转自 https://www.discuz.net/thread-3443658-1-1.html