Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz!4.0及以上版本由UTF8转GBK的详细教程【告别乱码,拥抱插件】

[复制链接]
cc88 发表于 2006-6-9 02:40:05 | 显示全部楼层 |阅读模式
经测试,此教程完全适用于Discuz4.0以上版本(包括Discuz4.0)!

谨以此文献给因UTF8编码不能使用插件、不能安装特效、经常出现乱码、rss不能正常显示、郁闷至极的朋友们。


Section I 盾与矛:为啥要转换?

有很大一部分朋友在选择安装Discuz并不知道安装什么编码版本才合适,这里我把对这两个编码的理解和大家分享

1、从数据库的尺寸上看,UTF8要大于GBK,20M的UTF8转成GBK后大概为16-17M
2、从论坛插件的支持上看,Discuz的拥戴者制作的插件基本上都是针对GBK的,UTF8的极少
3、从搜索引擎上看,MSN、YAHOO比较喜欢UTF8,会收录更快一些,因为它是国际上通用的编码,百度、google基本不受影响
4、从用户使用上看,UTF8更加适合欧洲、北美、香港用户通过FIREFOX等外国流行的浏览器浏览,GBK更适合大陆用户浏览
5、Discuz!官方推荐安装使用的是GBK

从上面可以看出,UTF8更适合外国朋友居多且不需太多要插件的论坛。GBK更适合普通一般的中国大陆用户。至于有些朋友说UTF8比GBK承载能力更佳,我使用了这么长时间,并没有感觉到有什么不同。




Section II 迷尘恋雾

转换过程貌似很复杂、很有难度,其实不然,出现错误的情况大多是由于人工失误、对MYSQL版本的不熟悉以及初次转换的懵懂、不感冒引起的,除了下面进行的详尽的分析之外,最后我还会列出一些常见失误和错误提示及解决方法,供大家对比参照。


Section III GBK也疯狂:插件我来了,乱码goodbye

手把手教您转换编码,请按下面的步骤step by step,祝您成功!

转换总共包括两个部分:数据库编码的转换和论坛文件的备份



一、关于数据库的备份和编码转换的过程

1、首先进入后台-数据库-资料备份

数据备份类型里选择 全部备份
数据备份方式里选择默认Discuz! 分卷备份 - 文件长度限制(kb)即可,包的大小自己设置

数据备份选项里(重要)

其他不要设置,主要看“ 建表语句格式”,这里有两个选项

※MySQL 3.23/4.0.x    ※MySQL 4.1.x/5.x

MySQL建表语言在4.0.x-4.1.x做了修改,所以这里[一定要注意正确的选择备份方式]



对于在原空间进行转换的朋友,这点可以忽略不计。
对于论坛搬家的朋友,Discuz! 提供了这样优秀的备份选项,一定要充分利用起来,在搬家前一定要检查新、旧服务器的MYSQL版本!
至于MySQL版本在新旧空间里在哪查看,其实很简单,在后台首页里就有,如下图:



2、提交,开始备份并完成备份。

3、利用ConvertZ工具对数据库编码进行转换


Step1. 下载附件中的文件 ConvertZ.part1-part2.rar,解压缩到任意文件夹(自己取)

Step2. 打开此附件,双击ConvertZ.EXE运行

Step3. 见图说明


Step4. 见图说明



4、将转好的GBK数据库保存好,备用。

二、进行文件备份,也就是下载到本地(这里要备份的文件包括关系用户组头像的customavatars文件夹,论坛附件的attachments文件夹,论坛图片文件images文件夹及论坛风格模板文件templates文件夹,共四个,其他所有文件均可以删除不要)

templates文件夹要特别说明一下,要备份的是除原来的default(默认模板)其他所有模板文件夹,因为default是包含语言包的,我们到时候会上传新的GBK的default(默认模板),所以原来的这个不要,很重要,切记。

上面的重头戏完成了,下面的就简单多了

1、保证全部文件备完之后,清除老空间的所有文件!(新空间不需要这一步,但请确认新空间是否正常运行,环境是否配置正确)

2、上传一个全新的Discuz!GBK编码论坛程序,进行安装。

3、安装成功后,将第一步中转换好的GBK数据库包全部通过FTP上传到论坛的forumdata文件夹下

4、进入新论坛后台-数据库-资料恢复-找到1号包-导入,1号包导完后会退出论坛(因为第一个包里含有原论坛的会员信息),这个时候你用原来论坛的管理员帐号密码即可登陆,继续完成导入,全部顺利导入则数据库恢复成功。
你可以进论坛前台,现在主题、贴子都能显示,但是附件和会员的头像不可见,需要进行下一步。

5、上传第二步开头备份的所有四个文件夹到论坛根目录下,进入后台,更新缓存,不相信自己的眼睛?已经转换成功了!


Section IV  不要小看阴沟里翻船?常见问题Q&A

q1:为什么导入数据库导到一半就不能继续下去,有如下的提示?

[quote]Discuz! info: MySQL Query Error

User: discuz
Time: 2006-5-17 6:40pm
Script: /admincp.php

SQL: INSERT INTO cdb_members VALUES('121','?ۨ??'262a9631938f60f88df0c2618981af64','58e9b7f9','0','0','10','0','','218.17.205.144','1145935498','','1145935498','1145935498','1145935525','1','0','0','0','2','2','0','0','0','0','0','0','0','0','htbyc@gqvbs.com','0000-00-00','0','0','0','0','','12','0','0','1','0','+8','0','0')
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '262a9631938f60f88df0c2618981af64','58e9b7f9','0','0','10','0','','218.17.205.144' at line 1
Errno.: 1064

Similar error report has beed dispatched to administrator before.


答:这是语法错误,请在出错的sql(不能导入的那一卷)文件里仔细检查:
1、会员名是否出现乱码
2、帖子是否出现乱码
3、是否有不符合要求的字符出现

解决方法:根据错误提示在错误的sql卷里用查找找到出错的语句(如上面的提示就是“262a9631938f60f88df0c2618981af64”),手动删除,再上传至服务器重新导入,删除错误语句时注意语法结构,以删除整句为佳。[/quote]

q2:导入数据正常,为什么论坛全是"??????"?

答:请注意MYSQL版本是否正确,详情见上面一、关于数据库的备份和编码转换的过程中的MYSQL版本部分


q3:转换好之后在使用论坛的过程中提示1062错误?

答:这是由于数据表没有添加Auto的缘故,解决方法可以看agfx版主所著的

点我查看:出现 Errno: 1062 的解决方法

q4:转换好之后发现所有用户的签名突然不能显示了!

答:请在发帖子时将使用个人签名勾上。

q5:转换好之后进入主题后最上方有这样的提示!

[quote]
Warning: Invalid argument supplied for foreach() in e:\www\hz\jackiwen\wwwroot\bbs\viewthread.php on line 157


解决方法:进入后台-Discuz! 选项-积分设置-扩展积分设置,将您论坛曾用过的积分的选项勾上
[/quote]


Section V  致谢&支持

以上是自己在成功转换及多次帮Discuz!的友人们转换时得出的经验,技术含量不高,大家将就着看,曾经答应过和Discuz!同仁们分享经验(前一段时间考试,实在没空),所以今天花了5个小时折腾出来了,希望对大家有所帮助。

在我身陷UTF8泥足时候曾得到了@鑫~#, asdf1999, agfx(排名不分先后)三位版主的帮助,非常感谢。

最后特别声明一下:文章是我自己写的,写的不好,但是未经我的允许,请不要私自转载,若转,一定要注明版权所有者名字及出处,谢谢!

http://www.maxhost.cn/
https://discuz.dismall.com/

                                                                                               by cc88 www.maxhost.cn 于 06.6.9 世界杯日? 凌晨2点30分

评分

1

查看全部评分

 楼主| cc88 发表于 2006-6-9 02:40:40 | 显示全部楼层
本帖最后由 cc88 于 2011-5-17 02:17 编辑

上面用到的编码转化工具

[ 本帖最后由 cc88 于 2006-6-9 02:47 编辑 ]

本帖子中包含更多资源

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

x
回复

使用道具 举报

rbescom 发表于 2006-6-9 02:47:25 | 显示全部楼层
偶先来支持下

保存地址,以备后用
回复

使用道具 举报

 楼主| cc88 发表于 2006-6-9 02:51:05 | 显示全部楼层
原帖由 rbescom 于 2006-6-9 02:47 发表
偶先来支持下

保存地址,以备后用

谢谢
回复

使用道具 举报

scandy00 发表于 2006-6-9 03:49:06 | 显示全部楼层
收藏了。谢谢。辛苦了
回复

使用道具 举报

Seika 发表于 2006-6-9 04:01:12 | 显示全部楼层
收藏~
回复

使用道具 举报

禄林网络 发表于 2006-6-9 12:54:24 | 显示全部楼层
精华
回复

使用道具 举报

 楼主| cc88 发表于 2006-6-9 16:28:40 | 显示全部楼层
希望转换成功的朋友回复一下,把经验和大家分享,谢谢
回复

使用道具 举报

网事随意 发表于 2006-6-9 16:31:14 | 显示全部楼层
不错!
回复

使用道具 举报

AgFx 发表于 2006-6-9 16:37:41 | 显示全部楼层
非常不错,相信会帮到很多有需要的朋友!
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-22 11:29 , Processed in 0.039891 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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