wangsisi 发表于 2012-2-18 10:54:12

mediawiki提交页面时出现MySQL 1271错误

===一文多名处理===
有时一篇文章可能具有多个不同标题,例如[[中央处理器]]与[]。如果您希望将“中央处理器”的访问转到“CPU”页面,可以在“中央处理器”的正文中顶头输入:
'''<nowiki>#REDIRECT []</nowiki>'''

这称为[]的“页面重定向”功能。更多细节请阅读'''[]'''。

===禁止文字转换===
mediawiki义,以控制显示格式。当需要原样显示会被系统转换掉的文本时(如双中括号等),应在歧义文本的两端分别加上'''<nowiki>'''和'''</nowiki>'''标记(请以半角符号输入),系统将不再转换中间的内容。

对于需要原样引用的多行文字,则可以采用在每行之前增加空格的办法来实现。(注:少数时候此法不能完全禁止转换,此时应采用前面的标记方法)

===目录控制===
当文章中含有3个以上标题时,mediawiki将自动在第一个标题之前生成目录(这是默认的设置)。

*如果需要隐去目录,可以在文章中加入“'''<nowiki>__NOTOC__</nowiki>'''”标记;
*如果需要强制显示目录而不管标题数量,可以加入“'''<nowiki>__TOC__</nowiki>'''”标记;

这两个wiki标记不限制出现位置,但一般出现在文章头部或尾部且单独成行。

===文章分类===
在文本中嵌入“'''<nowiki>[]</nowiki>'''”的文字,会使本文自动归类到“文章分类”下面。一般习惯在文章末尾放置该语句;同一篇文章可以设定多个分类。

编辑完成后,点击正文页面下端的分类名称,可以进入该分类页面查看更多的同类文章。同时,分类页面中也可以进行编辑,以进行必要的说明。

更详细的说明参见'''[]'''。
预览时,提示:

Database error
A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:
(SQL query hidden)
from within function "Parser::replaceLinkHolders". MySQL returned error "1271: Illegal mix of collations for operation ' IN ' (localhost)".

查过MySQL的1271错误的含义,没什么帮助。
错误:1271 SQLSTATE: HY000 (ER_CANT_AGGREGATE_NCOLLATIONS)
消息:对于操作'%s',非法混合了校对。

后来根据wiki建站技术群2里 *MBALib.com和京allwiki冷玉!的帮助把出错的页面删除了,我主要担心有这样的页面存在,以后备份导入数据库可能会存在隐患。

学习到的东西:

$wgShowSQLErrors=true ;
把这个选项加入LocalSetting.php,访问出错页面时,可以显示出错的SQL语句。


由于访问出错页面时,除了数据库错误,什么编辑、删除等功能都没有显示。怎么删除呢?
http://www.yoursite.com/index.php?title=******&action=delete

例如出错的页面title是IT:newbie,那么只要在浏览器里输入:
http://www.yoursite.com/index.php?title=IT:newbie&action=delete
就ok了。
页: [1]
查看完整版本: mediawiki提交页面时出现MySQL 1271错误

BlueHost美国主机优惠码