1271: Illegal mix of collations for operation (MediaWiki)

WulfmanGER

Commander
Registriert
Juli 2005
Beiträge
2.225
Hi

leider gibt es für das MediaWiki.org kein wirkliches Forum - irgendwie komischer Support. Aber vielleicht kann mir hier jemand weiterhelfen - vielleicht isses ja kein allgemeines MediaWiki-Problem.

Beim Zugriff auf manchen Seiten bekomme ich als Fehlermeldung:
Code:
aus der Funktion „LinkBatch::doQuery“. MySQL meldete den Fehler „1271: Illegal mix of collations for operation ' IN ' (localhost)“.

andere Seiten wiederum funktionieren. Ist auch kein Muster erkennbar welche Seiten betroffen sind.

Es handelt sich hier um ein upgrade von ner recht alten Version auf die aktuelle. Das alte Wiki läuft mit charset=iso-8859-1, das neue soll / muß mit utf8 laufen.

Nutze die Variante mitm Browser (da shell unter windows nicht so recht klappt). Dort kann ich einstellen ob InnoDB oder myISAM-Tabellen. Charset wird angeblich ignoriert wenn nen upgrade erfolgt (wird aus der aktuellen Tabelle ausgelesen) - stimmt aber nicht! (3 auswahlmöglichkeiten hab ich; alle drei bringen andere Datenbank-Ergebnisse) .. alle Varianten durch - alle "klappen" soweit - nur das manche Seiten besagte Meldung ausspucken.

Schau ich mir die Datenbank an hab ich je nach Einstellungen beim upgrade/installation folgende Zusammenstellungen:
* rein myISAM - dazu charset binary/latin
* rein innodb - dazu charset binary/latin
* innodb/myisam gemischt, dazu binary/latin gemischt.

Collations bezieht sich soweit ich verstanden habe auf den Charset. Hab also erstmal ein nacktes MediaWiki installiert und mir angeschaut wie es ausschauen sollte. Daraufhin hab ich die ganzen Tabellen auf InnoDB und Charset/Collation binary gestellt. Erfolg: nix! Es gibt in der Konfig eine option die sich $wgDBmysql5 nennt - steht die auf True hab ich besagtes Problem, stell ich auf false, werden die Umlaute falsch angezeigt.

Bin echt schon am verzweifeln - seit heute morgen sämtliche Varianten ausprobiert. Nix will so recht.

Jemand eine Ahnung was man gegen die Fehlermeldung machen kann? Bzw. was die genau bedeutet? Google bringt nicht viel :( nur massenhaft Live-MediaWikis die vereinzelt auf ihren Seiten die Meldung haben (gut das ich vorm Live-Server erstmal lokal teste *G*). Dazu in div. Foren fragen dazu, ohne Antworten.

Gruß
 
Dumme Frage: Warum ist der Zeichensatz binary/latin richtig, wenn es aber UTF8 sein sollte?
 
Hi

das isses ja :(
Binary ist sowas wie UTF8 - bzw. dazu Kompatible - wird seitens MediaWiki empfohlen. Das Wiki selber gibt als charset im Quellcode dann natürlich UTF-8 aus.

Die Ursprungs-DB ist Latin.

Jetzt wird nachm Update aber gemischt Binary UND Latin - und das ist falsch.

Was ich mittlerweile rausgefunden haben: Man kan die Tabelle auf Binary setzen - aber die einzelnen Spalten in der Tabelle können trotzdem Latin sein! Das hat die Fehlermeldung hervorgerufen. Jetzt weiß ich wieso ... aber ich bekomms nichts nicht gelöst.

Wenn ich die einzelnen Spalten auf Binary stelle ist das Problem weg ... aber neues Problem: Umlaute gehen flöten - das Wiki ist nicht mehr Nutzbar.

Ich hab das gefühl das ich hier massiv per Hand nacharbeiten muß - weiß nur nicht wie :(

Was ich dann noch gesehen habe:
Bilder-Übersichtseite ... die Bild-Beschreibungen scheinen wohl iso-8859-1 codiert zu sein ... die Seite ansich aber utf8. Folge: die Bildbeschreibungen in der ÜBERSICHT stellen Umlaute falsch da. Geh ich auf ein Bild in die Übersichtsseite: SAUBER - alle Umlaute wie se sein sollen. Ich kann die Tabelle in der DB dazu ändern wie ich will - das ändert sich nicht.

K.a. was ich da machen soll ... ich mein bei Wikipedia gibts ja auch keine Probleme ... aber wie man das sauber upgrade steht nirgends :(

Gruß
 
Zurück
Oben