插件作者的标准出来了!Manyou诚邀开发者加盟!立即免费下载 Discuz!6.1.0正式版
Discuz! 6.1.0 使用说明
Discuz!NT升级至v2.1
开放源码下载
UCenter Home 1.2 正式版发布
官方站 | 帮助文档
基于ECShop的免费网店托管-卖否
PHP就业培训直通车 | LAMP培训大连
Discuz!收费服务内容及价格
论坛免费升级 手握手
Discuz!/ECShop 专用官方虚拟主机
【乐游-浪漫庄园】专题活动
Comsenz 招聘信息
网店系统ECShop v2.6.0正式版火热发布
基于Discuz!的免费论坛空间5D6D
第二届PHP中国开源发展及人才状况调查
 29 123
发新话题
打印

[数据] 数据错误1267分析和解决方案(带图示)。申请加精!!

数据错误1267分析和解决方案(带图示)。申请加精!!

文章出处:http://www.googyo.com/viewthread.php?tid=74&extra=page%3D1
作者:谷优(laimingzhen)
日期:2006.10.3
目的:解决此问题也属偶然,只是帮网友解决他们遇到的问题。
文章等级:菜鸟级

问题原帖地址:http://www.discuz.net/viewthread.php?tid=226503&extra=&page=1

在官方论坛有相类似的问题,最早是1月21日showlife发的,但没解决方案,所以可见并不是一个人遇到这样的问题,也不知道showlife最后是不是重装论坛解决,呵呵^_^ 所以下决心把这问题解决并将分析过程和解决方案写出来,希望能让大家借鉴一下,高手的话就看到这里就可以干您的事了,技术含量也不高,请勿见笑。

好了。废话不说了,正式开始,首先我们看一下错误提示:

showlife遇到的错误提示:

Discuz! info: MySQL Query Error

User: Мг.$℃
Time: 2006-1-21 3:38pm
Script: /post.php

SQL: select count(*) FROM cdb_postban where (fid='4' or fid='65535')

AND username='Мг.$℃' AND timelimit > 1137829088
Error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (gbk_chinese_ci,COERCIBLE) for operation '='
Errno.: 1267

Similar error report has beed dispatched to administrator before.
febay遇到的错误提示:

Discuz! info: MySQL Query Error

User: 超级女生
Time: 2006-10-2 1:14pm
Script: /post.php

SQL: select count(*) FROM cdb_postban where (fid='11' or fid='65535')

AND username='超级女生' AND timelimit > 1159766042
Error: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (gbk_chinese_ci,COERCIBLE) for operation '='
Errno.: 1267

Similar error report has beed dispatched to administrator before.


分析思路:
因为本人对数据数也是刚开始接触,错误解决的方法也知之甚少(在这里要先感谢一下febay对我的信任与给了机会让我思考学习),所以我最先做的一件事情是从字面上去理解出错的原因是什么,照原文意译过来是



复制内容到剪贴板
代码:
SQL:选择点来自cdb_postban表里的(fid='4' or fid='65535')
用户名为'Мг.$℃'和时间限定1137829088
错误:不合法的混合在校对(latin1_swedish_ci,IMPLICIT) 和(gbk_chinese_ci,COERCIBLE)对'='的*作(不知道译得对不对,反正意思是这样的)

大家注意到红色和蓝色的部分了吧,这是user等出错字段的字符集。所以出错信息已经在这里告诉我们到底是出错了,该调整什么。另外,看到绿色代码部份,那个就等于告诉我们出问题的是表名为cdb_postban的表。所以接下来我们开始行动了:
首先登录phpMyAdmin,打开当前出错的数据库,选择出错的数据表,打开后会出现如下图



注意到整理那一列,有3项字符集是:latin1_swedish_ci。这也就是出错的地方,可能这里会问了,为什么错的是这里,其实数据错误1267指的是安装插件的时候出的错,插件加入数据库的字符集和默认的不一样。中文的话一般默认为GB2312。所以我们要手动把它改正过来(也可以用SQL语句实现这里就不说了)点下图红色标记




出现如下界面:





把“整理”那一项选为“gbk_chinese_ci”(简体中文,不区分大小写),确定。
修改完成后如下图






登出试验再发帖,成功。




经验总结:
1、遇到问题先从错误提示获得最基础信息来分析。
2、充分利用网络资源:
1)在技术类网站发帖求助(如谷优社区);
2)在搜索引擎搜索相关错误代码的信息;
3、善于动手、动脑、动口
4、*作数据库必须要求具备基础的知识,建议*作前先暂时关闭论坛并备份数据库。




[ 本帖最后由 agfx 于 2006-10-3 20:05 编辑 ]
善用搜索那将是你一笔难得的财富。别人所给你的每一个答案,都请虚心对待。
请学会独立思考独立操作。有问题请尽量发帖请勿PM。请勿询问QQ,有必要的话我会主动要你的联系方式。
晕死。连官方的 [attach][/attach] 代码都不能用。

看起来麻烦的就到点文章出处链接移步谷优社区。

记得顶起来!!
善用搜索那将是你一笔难得的财富。别人所给你的每一个答案,都请虚心对待。
请学会独立思考独立操作。有问题请尽量发帖请勿PM。请勿询问QQ,有必要的话我会主动要你的联系方式。
嘿嘿~~支持下~~!
我帮您编辑看看....
搞定.....
全部备份 标准备份 到底有什么区别?
嘿嘿。谢谢!!

随便BS一下爬爬,又来灌水。
善用搜索那将是你一笔难得的财富。别人所给你的每一个答案,都请虚心对待。
请学会独立思考独立操作。有问题请尽量发帖请勿PM。请勿询问QQ,有必要的话我会主动要你的联系方式。
班主太冲动了
我发过类似的帖子解决此问题的。。。
很多人付出的很多.却得不到等量的收获.唉.这世道。
不是奖励你积分威望 -4 了么
好东西我顶!

.
 29 123
发新话题
版块跳转