Upgrade von 1.8.4 auf 1.9 --> Database is not already in Unicode

Upgrade von 1.8.4 auf 1.9 --> Database is not already in Unicode

von Stefan Leßmann -
Anzahl Antworten: 10
Hallo,

ich habe unseren moodle (1.8.4) auf neue Hardware umgezogen (Dump der SQL-Datenbank aufgespielt und moodledata kopiert), moodle funktioniert einwandfrei auf dem neuen Rechner (mit Ubuntu 7.10). Jetzt wollte ich moodle auf 1.9+ nach Anleitung upgraden, beim Aufruf von /moodle/admin/ erhalte ich die Meldung:

Sorry, but your database is not already in Unicode, and this version of Moodle is not able to migrate your database to Unicode. Please upgrade to Moodle 1.7.x first and perform the Unicode migration from the Admin page. After that is done you should be able to migrate to Moodle 2007101509

Unsere Datenbank müsste ja eigentlich umgestellt sein, schließlich geht moodle 1.8 nicht ohne... phpmyadmin meldet auch brav utf8 für alle tables.

Habe jetzt auf 1.8.4 zurückgestellt und dort dann festgestellt, dass sowohl auf dem neuen Rechner, wie auch auf dem alten unveränderten bei den Systeminformationen unter 1.9 - Other Checks die Fehlermeldung kommt:
"Beim Auslesen der Server-Konfiguration ist ein Fehler aufgetreten (13).
Sonst ist alles im grünen Bereich.

Hängen die beiden Fehler zusammen?

Gruß,
Stefan Leßmann, Reutlingen
Mittelwert:  -
Als Antwort auf Stefan Leßmann

Re: Upgrade von 1.8.4 auf 1.9 --> Database is not already in Unicode

von Maik Riecken -
Hallo,

a)
Die beiden Fehler hängen wahrscheinlich nicht zusammen. Schaue bitte einmal unter

Website-Administration => Server => PHP-Informationen

nach, ob der suhosin-Patch installiert ist. Der bedürfte einiger Anpassungen für Moodle. Dazu suchst du auf der Seite mit deinem Browser nach der Zeichenkette "suhosin".

b)
Rufst du die Datenbank bitte einmal mit phpmyadmin auf und postest einen Screenshot? Ich vermute, dass die Datenbank selbst als Kollation iso gesetzt hat, die Tabellen aber utf-8 aufweisen. Das ließe sich dann leicht durch eine Änderung der Kollation für die Datenbank über phpmyadmin beheben.

Gruß,

Maik
Als Antwort auf Maik Riecken

Re: Upgrade von 1.8.4 auf 1.9 - Database is not already in Unicode

von Stefan Leßmann -
Hallo Maik,

zu a)
Hmm, ja, ich HATTE mal suhosin installiert, weil es dann aber Probleme mit dem Upload bei joomla 1.5 gab, habe ich das Teil über Synaptic wieder deinstalliert (dachte ich), seitdem tut joomla wieder. Jetzt habe ich in den PHP-Informationen aber gesehen, dass es zumindest die suhosin.ini bei "additional .ini-Files parsed" noch gibt - sollte ich die mal rausschmeißen? (und dumme Frage hinterher: einfach löschen?)

zu b)
Mache ich sobald wie möglich, habe gerade die Passwörter nicht zur Hand... Werde mir dann auch gleich Tobias' Tipp vornehmen.

Danke und Grüße,
Stefan


Als Antwort auf Stefan Leßmann

Re: Upgrade von 1.8.4 auf 1.9 - Database is not already in Unicode

von Maik Riecken -
Hallo Stefan,

Hat synaptic die Option "purge"? Ansonsten ist die sauberste Variante immer ein

apt-get remove <paketname> -purge

wenn die auch die Konfigdateien loswerden willst. Ich würde die php.ini nicht anfassen und erst recht nicht die suhosin.ini löschen (die hättest du eher bearbeiten müssen, damit Joomla! läuft - suhosin ist schon recht sinnvoll).
Der Paketmanager von Debian taugt schon etwas und die Entwickler davon können einfach mehr als wir beide.

Ansonsten schau mal - wie gesagt - nach iso-/latin-Kollationen in deiner DB.

Gruß,

Maik

PS:
Das Umstellen einzelner Felder muss man nicht händisch und einzeln machen, dafür gibt es SQL-Queries und Scripten (=> google).
Als Antwort auf Maik Riecken

Re: Upgrade von 1.8.4 auf 1.9 - Database is not already in Unicode

von Stefan Leßmann -
Hallo Maik,

habe jetzt suhosin endgültig entfernt, mit aptitude kann man das purge bequem ausführen (an gnome und synaptic komm ich von hier aus nicht ran...), nach einem apache-restart taucht die suhosin.ini jetzt nicht mehr auf, allerdings hat sich an den beiden Fehlermeldungen auch nichts geändert...

Sobald ich an meine Passwortliste rankomme (habe einfach zu gute gewählt...), werde ich mal nach den Kollationen schauen.

Danke!

Gruß,
Stefan
Als Antwort auf Stefan Leßmann

Re: Upgrade von 1.8.4 auf 1.9 - Database is not already in Unicode

von Stefan Leßmann -
Hallo allerseits,

Ich habe jetzt in phpmyadmin die Datenbank angeschaut:

1. Die Datenbank moodle stand auf utf8_general_ci
2. Die verschiedenen Tabellen standen auf utf8_unicode_ci
3. Sämtliche Felder standen auf utf8_unicode_ci

Ich habe probeweise die Datenbank auf utf8_unicode_ci umgestellt, bewirkt aber nichts.

Muss ich die gesamte Datenbank mit allen Inhalten auf utf8_general_ci umstellen? Die alte moodle-Datenbank einer vorherigen Testinstallation, die ich unter anderem Namen gespeichert habe, hat jedenfalls komplett das general...
Und wenn umbenennen = ja - wie?

Gruß,
Stefan
Als Antwort auf Stefan Leßmann

Re: Upgrade von 1.8.4 auf 1.9 - Database is not already in Unicode

von Ewald Dreesmann -
Hallo!

Vielleicht hilft dir dieser Link ja weiter: UNICODE PRÜFEN.

Bis dann ...
Als Antwort auf Ewald Dreesmann

Re: Upgrade von 1.8.4 auf 1.9 - Database is not already in Unicode

von Stefan Leßmann -
Hallo,

nein, der obige Link hilft leider nicht. Die Tabellen und Felder in meiner Datenbank sind alle vom gleichen Typ: utf8_unicode_ci. Es gibt keine einzige Abweichung.
Muss ich diese Tabellen und Felder alle auf utf8_general_ci umstellen?
Und wenn ja: Wie? Jede einzelne "von Hand" wäre ein Geschäft für einige Tage...

Gruß,
Stefan
Als Antwort auf Stefan Leßmann

Re: Upgrade von 1.8.4 auf 1.9 --> Database is not already in Unicode

von Tobias Blank -
Hallo Stefan,

ich hatte das gleiche Problem beim Update von 1.7 auf 1.8.

Die Datenbank und alle Tabellen standen auf Unicode und trotzdem kam die Fehlermeldung.

Des Rätsels Lösung war (zumindest bei mir), dass einzelne Felder (!) in der Datenbank auf unicode_swedish eingestellt waren (warum auch immer). D.h. Du musst jede Tabelle und jedes Feld in den Tabellen auf die Codierung überprüfen und per Hand umstellen. Bei mir waren das ca. 10 Felder die umgestellt werden mussten, dann ging alles reibungslos.

Schöne Grüße aus München

Tobias Blank
Als Antwort auf Tobias Blank

Re: Upgrade von 1.8.4 auf 1.9 --> Database is not already in Unicode

von Martin A. Huber -
Bei mir stand teilweise latin_swedish, die Umstellung auf utf-8 hat's nicht gebracht.
Die Probleme waren schliesslich mit einem Update von PHP4.x. auf PHP5.25 vom Tisch.
Als Antwort auf Stefan Leßmann

Re: Upgrade von 1.8.4 auf 1.9 --> Database is not already in Unicode

von Stefan Leßmann -
Hallo,

ich habe inzwischen einiges rumprobiert, mein Problem besteht aber leider nach wie vor:

Ich habe moodle 1.8.4 installiert. Der Server ist Ubuntu Hardy.

Bei den Systeminformationen für moodle Version 1.9 erscheint:

docs.gifBeim Auslesen der Server-Konfiguration ist ein Fehler aufgetreten (13) Fehler

Ein alter Tipp war, suhosin zu entfernen. Das habe ich bei meinem Ubuntu mit Synaptic gemacht (Paket php5-suhosin), allerdings habe ich jetzt gesehen, dass in den php-Informationen immer noch steht:
This server is protected with the Suhosin Patch 0.9.6.2.

Wie werde ich denn suhosin endgültig los?

Vielleicht behebt sich dann auch das Problem, dass moodle bei einem Updateversuch behauptet, die Datenbank sei nicht in unicode, obwohl ich definitiv alle Felder und die Gesamtdatenbank auf utf8_general_ci gestellt habe.

Grüße,
S. Leßmann