Untergeordnete Seiten
  • MySQL Kollationsreparatur: Kodierprobleme auf Spalten-Ebene
Zum Ende der Metadaten springen
Zum Anfang der Metadaten



Bevor Sie fortfahren

(Warnung) Bevor Sie fortfahren, stellen Sie sicher, dass:

  • Confluence abgeschaltet ist
  • Ein vollständiges Datenbank Backup vorliegt

Es ist außerdem sinnvoller wenn Sie diese Änderugen zuerst in einer Testumgebung ausprobieren, bevor Sie die Schritte auf die Produktivumgebung übertragen.



Wann dieser Fix sinnvoll ist

Wenn Sie feststellen, dass Ihre Inhalte nicht richtig angezeigt werden, dann sollten Sie diesen Fix anwenden. Zum Beispiel wird der String José so angezeigt: José.

 



Eine Spalte mit falsch kodierten Inhalten reparieren

Dazu müssen Sie die Spalten auswählen und sie zu previousEncoding (wie z. B. latin1) konvertieren und dann erst in binär und abschließend in utf8 umwandeln.

Wenn Sie SQL_SAFE_UPDATES auf 0 setzen bevor Sie die Abfrage starten, können Sie jede Zeile in der Tabelle updaten. Das ist potentiell unsicher und sollte zur Sicherheit durchgetestet werden bevor es an einem produktiven System angewendet wird.

SET SQL_SAFE_UPDATES=0;
UPDATE tableName SET columnName = CONVERT(CAST(CONVERT(columnName USING previousEncoding) AS BINARY) USING utf8);
SET SQL_SAFE_UPDATES=1;

 

Abhängig vom Zeichen und wie dieses kodiert ist, kann es sein, dass diese Abfrage ausreichend für die Lösung der Anzeigeprobleme ist. Deshalb könnten Sie vielleicht eine der alternativen Methoden unter "Weitere Quellen" benötigen.

 



Weiterführende Quellen

 



 

Confluence
  • Keine Stichwörter