升级官网的悲剧
由于市场部的大大需要Discuz!X的新功能, 用于建立玩家群和互动, 这几天忙着升级Discuz!X, 升级之前认为这是一个简单的工作, 但实施起来才发现痛苦万分, 最后不得已放弃了升级, 但最后的关键时刻还是完成了升级工作, 等日后Dx稳定了再考虑切换过来吧.
这里说说升级过程遇到的问题, 以帮助其他有同样需求的朋友, 原先Discuz安装的是7.0版, 数据库采用的latin1编码, 这是一个历史遗留问题, 由于开始直接采用package安装mysql, 这样默认是不支持gbk编码的, 所以论坛从一开始就是latin1编码, 当需要安装Dx的时候, 官方仅提供了gbk和utf8的包, 迫不得已手动重新编译mysql用于支持gbk编码,这样Dx附带的convert工具可以自动转换编码并升级数据库, 但这样转换仅仅针对论坛数据,却不包括用户(uc_server)数据, 于是我简单的认为只要修改uc_server的配置修改为latin1并使用原来的uc_server就可以ok, 事实也是如此, 大部分都是ok的, 包括中文用户的认证, 但还是有2个问题:
1) 站内通知都是乱码?
2) 如果刷新缓存会导致模板错误,直接花屏, 同时论坛会访问一些根本不存在的文件, 一度以为论坛被黑了?
这2个问题我都不知道原因, 因为本人对php不是很熟悉, 也没有时间仔细看代码, 就这样一直卡着无法继续, 但玩家却在期盼着论坛开服, 这样的压力可想而知, 最终暂时决定使用原版本先开服, 在内部继续解决问题.
这样接下来的问题是把latin1编码的数据库转换为gbk(包括uc_server部分),虽然我现在也还不认为上面的2个问题是由于编码导致的, 这步花了很多时间,按照google各种"完美latin1转gbk*******"文档的说明操作,都不能解决问题,或者是数据无法导入,或者是乱码, 就在今天联系了discuz的朋友, 寻求技术支持, 结果人家丢我tools.php 工具, 上面提供了数据库转码功能, 这样直接转换了数据库ok在升级Dx, 发现一切ok, 目前新论坛在内部测试.
2010-07-10 23:22:57 回复该留言
支持下,辛苦啦!