General error: 1267 Illegal mix of collations
am 22.01.2014 - 00:31 Uhr in
Hallo,
mein Drupal erzeugt bei der Benutzung der Suche folgende Fehlermeldung:
PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8_general_mysql500_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=': SELECT COUNT(*) AS expression FROM (SELECT i.sid AS sid FROM {search_index} i INNER JOIN {node} n ON n.nid = i.sid INNER JOIN {search_total} t ON i.word = t.word INNER JOIN {search_dataset} d ON i.sid = d.sid AND i.type = d.type WHERE (n.status = :db_condition_placeholder_0) AND( (i.word = :db_condition_placeholder_1) )AND (i.type = :db_condition_placeholder_2) AND( (d.data LIKE :db_condition_placeholder_3 ESCAPE '\\') ) GROUP BY i.type, i.sid HAVING (COUNT(*) >= :matches) ) subquery; Array ( [:db_condition_placeholder_0] => 1 [:db_condition_placeholder_1] => pfautec [:db_condition_placeholder_2] => node [:db_condition_placeholder_3] => % xxxxx % [:matches] => 1 ) in PagerDefault->execute() (Zeile 74 von /usr/xxx/includes/pager.inc).
Prinzipiell habe ich das Problem schon erkannt: Falsche Zeichensätze in der Datenbank. ich habe auch schon mehrere Reparaturmöglichkeiten von Drupal.org ausprobiert. Auch das manuelle konvertieren der Tabellen wurde durchgeführt ... Reparieren ...
zum Beispiel dieses: https://drupal.org/node/251938
Keine Verbesserung. :-(
große Veränderungen, außer Updates, wurden in letzter Zeit nicht eingespielt. Auch keine neuen Module installiert.
wer kann mir bitte einen Tipp geben?
LG Olaf
- Anmelden oder Registrieren um Kommentare zu schreiben
offenbar verwenden verschiedene Tabellen
am 22.01.2014 - 08:48 Uhr
verschiedene Zeichnsätze.
Dies muss bei einer Schlüsselverknüpfung schief gehen.
Ich kann dir nicht sagen, welche Tabellen was verwenden, aber alle Tabellen in der Datenbank sollten die gleiche collation order (das ist die Sortierfolge von Schlüsseln) verwenden, da ansonsten solche Fehlermeldungen vorprogrammiert sind.
Mein Vorschlag:
1. GANZ WICHTIG! Führe eine komplette Sicherung der Datenbank durch.
2. überprüfen die Sortierfolgen in allen Tabellen
3. dort wo sie nicht stimmt, stelle sie um (UTF8-ci ist eine gute Wahl)
mySQL wird nun alle Indizes neu generieren müssen, die von einer solchen Umstellung betroffen sind.
Danach müsste es passen.