View source for UTF-8-Konvertierung der Datenbank

Auch verfügbar in ((../DatabaseConversion English)) und ((ru Русский))

{{toc numerate=1}}
file:/unicode.svg?right&100
Leitfaden
  * Konvertierung aller Quelltexte und Daten in einem einzigen Schritt 
  * benötigte Unterbrechung
  * Probeläufe erforderlich

===Schritte===

====Vor der Aktualisierung====
file:/utf8_conversion_script_1.png?right&400
  1. Konvertiere alle Tabellen von MyISAM nach InnoDB, falls bereits MyISAM-Tabellen bestehen. 
    * Admin Panel -> Database -> Convert
  1. Erstelle ein Backup deines bestehenden Wikis (Datenbank & Dateien) 
  2. Erstelle eine lokale Installation (oder Remote - vermeide Zeitüberschreitungen und Skriptabbrüche).
  1. Einlesen der Datensicherung -> **!!(green)5.5.17!!** (ca. 15 Minuten)
  2. Führe das **((source:6.0/community/action/admin_utf8.php Konvertierungsskript))**  als Admin aus (-> siehe Aktion ##""{{admin_utf8}}""## weiter unten)
    1. Ändert die Tabelle ##file##, ##page##, ##page_link## und ##revision## so, dass sie ohne Schlüsselpräfixe funktioniert, die länger als **767** Byte sind (**optional**).
      * MySQL-Versionen vor **5.7.7** oder MariaDB **10.2.2** unterstützen standardmäßig keine Indexschlüsselpräfixe bis zu **3072** Byte.
      * Wenn die Möglichkeit besteht, die Datenbank zu aktualisieren, um die Anforderungen für den großen Schlüsselpräfix zu erfüllen, empfiehlt es sich, dies zu tun.
    2. Konvertiert die Datenbank und Tabellen nach ##utf8mb4##.
    3. Konvertiert alle Zeichensatz-übergreifenden Datensätze. (z.B. Griechisch gespeichert als Latin1)
      * Dies ist nur notwendig, wenn das Wiki im mehrsprachigen Modus betrieben wurde und Seiten mit einem anderen Zeichensatz erstellt wurden.
  4. **!!ÜBERPRÜFE!!** über phpMyAdmin oder Adminer alle relevanten Spalten, ob die Konvertierung erfolgreich war, **bevor es weiter geht**!
    * z.B. könnten die Skripte die Spalte ##body## aufgrund von Zeitüberschreitung oder Skriptabbruch nicht konvertiert haben.

====Aktualisierung auf R6.0====
file:/wackowiki_r6_de_upgrade_1.png?right&400&caption
  3. Wechsel den Zweig des Repositories von **5.5** auf **6.0**  (behalte! config.php) ODER entferne die alte Version und ersetze sie durch R6.0.x
  4. Lösche alle Daten im ##_cache/## Ordner
  3. Upgrade über den Installer auf 6.0.x

====Nach der Aktualisierung====
file:/utf8_conversion_script_2.png?right&400
  4. Führe die Post-Upgrade-Konvertierungsskripte aus. ##""{{admin_utf8}}""##
    1. Zurücksetzen der vergrößerten TEXT-Spalten auf TEXT oder MEDIUMTEXT
    1. Konvertierung von HTML-Entitäten in ihre entsprechenden Unicode-Zeichen 
    1. Löschen der Spalte 'converted' aus den Tabellen.
  2. Entferne die Aktion **admin_utf8.php** wieder aus  dem Ordner ##action/##
  4. Synchronisiere die aktualisierten Daten über das Verwaltungspanel.

((/Doc/Deutsch/Upgrade <-- zurück zu den Upgrade-Hinweisen für 6.0.x))

===Script===

%% ln -s ../../community/action/admin_utf8.php admin_utf8.php%%

{{include page="/Dev/Release/R6.0/Upgrade/DatabaseConversion/Script"}}