Seite 1 von 1

[Gelöst] Nach Umzug kein Posten u. keine Umlaute

Verfasst: 02.02.2010 19:33
von wozu
Hallo! Ich bin mit meinem Board umgezogen. Nach dem Umzug sind aus den Beiträgen die Umlaute verschwunden (in Forennamen stimmen sie) und ich erhalte beim Posten diese Fehlermeldung:

Code: Alles auswählen

Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Feld 'topic_last_poster_name' hat keinen Vorgabewert [1364]

SQL

INSERT INTO phpbb3_topics (topic_poster, topic_time, topic_last_view_time, forum_id, icon_id, topic_approved, topic_title, topic_first_poster_name, topic_first_poster_colour, topic_type, topic_time_limit, topic_attachment) VALUES (2, 1265133128, 1265133128, 1, 0, 1, 'test', 'Doppeladler', '', 0, 0, 0)

BACKTRACE

FILE: includes/db/mysql.php
LINE: 174
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 1964
CALL: dbal_mysql->sql_query()

FILE: posting.php
LINE: 1108
CALL: submit_post()
Natürlich bin ich sofort auf die Knowledge Base gestoßen: http://www.phpbb.de/kb/no_default
Die MySQL Version ist tatsächlich von 4.? auf 5.0.22 angewachsen.
Ich habe also die Datei mysql_upgrader.php für phpBB 3.0.6 heruntergeladen, die Zeile gelöscht, per FTP hochgeladen und ausgeführt. Das Ergebnis war eine sehr lange Liste mit SQL Anweisungen, die ich im phpMyAdmin unter der betreffenden Datenbank ausgeführt habe (Die ganze Liste auf einmal - kenn mich da überhupt nicht aus und hoffe das war richtig). Als Antwort kam von phpMyAdmin das hier:

Code: Alles auswählen

SQL-Befehl:

ALTER TABLE phpbb3_posts MODIFY post_id mediumint( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
MODIFY topic_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY forum_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY poster_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY icon_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY poster_ip varchar( 40 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int( 11 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_approved tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY post_reported tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY enable_bbcode tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY enable_smilies tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY enable_magic_url tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY enable_sig tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY post_username varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar( 32 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY bbcode_bitfield varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar( 8 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY post_edit_time int( 11 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_edit_reason varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_edit_count smallint( 4 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_edit_locked tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ,
DROP INDEX post_username,
ADD KEY post_username( post_username ) ,
DEFAULT CHARSET = utf8 COLLATE = utf8_bin;

MySQL meldet: Dokumentation
#1091 - Kann 'post_username' nicht löschen. Existiert die Spalte oder der Schlüssel?
Beide Probleme (kein Posten möglich & kein Umlaute) bestehen weiterhin. Ich bin echt kein Profi und mit meinem Latein am Ende.
Darum ersuche ich Euch um Hilfe.

http://www.doppeladler.com/forum/index.php (ist derzeit, damit niemand postet und die Sache noch schlimmer wird, gesperrt)
phpBB 3.0.6 und MySQL 5.0.22
keine Mods, nur ein paar kleine Anpassungen overall_header und _footer
Wenn weitere Infos erforderlich sind bitte melden!

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 00:30
von bantu
Es sieht danach aus als wäre die Datenbank deines Boards nicht vollstädig auf phpBB 3.0.6 aktualisiert worden.
Stelle sicher, dass der MySQL-Upgrader passend zu deiner Boardversion ist.
Das Vorgehen ist prinzipiell so richtig, allerdings fehlt vermutlich der post_username index, der bei einem 3.0.6. normalerweise vorhanden ist.
Wenn deine Datenbank noch auf 3.0.5 oder früher ist, führe install/database_update.php aus.

Du musst prinzipiell die Probleme lösen, die MySQL dir zurückgibt. In diesem Fall
MySQL meldet: Dokumentation
#1091 - Kann 'post_username' nicht löschen. Existiert die Spalte oder der Schlüssel?

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 20:38
von wozu
Vielen Dank für die Unterstützung! Leider hat es mein Problem nicht gelöst.

1) Ich habe die Datenbank aktualisiert: Ergebnis: vorher 3.0.6, nachher 3.0.6, keine Fehler
2) Dann habe ich auch nochmals die Dateien aktualisiert und 3 Dateien nochmals hochgeladen. Ergebnis: Meldung, dass Update vollständig
3) Im Anschluss habe ich nochmals die Datei mysql_upgrader.php für 3.0.6 ausgeführt. Ergebnis: lange Liste von SQL Anweisungen
4) Die Liste habe ich in phpMyAdmin eingegeben und die gleiche Fehlermeldung erhalten wie gestern! Posten und Umlaute gehen immer noch nicht - auch nach dem Löschen des Cache.

Kann ich 'post_username' künstlich erstellen, damit es gefunden wird? Oder soll ich mysql_upgrader.php für 3.0.5 ausprobieren? Was kann ich noch machen?

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 20:45
von Mahony
Hallo
Ändere den SQL-Befehl mal ab in

Code: Alles auswählen

ALTER TABLE phpbb3_posts MODIFY post_id mediumint( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
MODIFY topic_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY forum_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY poster_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY icon_id mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY poster_ip varchar( 40 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_time int( 11 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_approved tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY post_reported tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY enable_bbcode tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY enable_smilies tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY enable_magic_url tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY enable_sig tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY post_username varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_subject varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_unicode_ci,
MODIFY post_text mediumtext NOT NULL COLLATE utf8_bin,
MODIFY post_checksum varchar( 32 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_attachment tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY bbcode_bitfield varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY bbcode_uid varchar( 8 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_postcount tinyint( 1 ) UNSIGNED DEFAULT '1' NOT NULL ,
MODIFY post_edit_time int( 11 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_edit_reason varchar( 255 ) DEFAULT '' NOT NULL COLLATE utf8_bin,
MODIFY post_edit_user mediumint( 8 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_edit_count smallint( 4 ) UNSIGNED DEFAULT '0' NOT NULL ,
MODIFY post_edit_locked tinyint( 1 ) UNSIGNED DEFAULT '0' NOT NULL ,
ADD KEY post_username( post_username ) ,
DEFAULT CHARSET = utf8 COLLATE = utf8_bin; 
und schau, ob die Befehle dann durchlaufen.


Grüße: Mahony

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 20:58
von wozu
Mahony, keine Ahnung was ich gerade eingegeben habe aber es war goldrichtig! Das Posten funktioniert wieder! VIELEN DANK! :grin:
Die Umlaute funktionieren allerdings nur bei den Neueinträgen. Hast Du (oder sonst jemand) dafür auch so einen tollen Befehl?

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 21:06
von Mahony
Hallo
Die fehlerhafte Anzeige der Umlaute, liegt daran, dass das Datenbank-Backup nicht mit dem Zeichensatz eingespielt wurde, den die Datenbank erwartete.
Siehe dazu Die Umlautproblematik. Da wird dir alles wichtige zum Thema erklärt.


Grüße: Mahony

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 21:39
von wozu
Ok, ich hab mir das angesehen und eine ungefähre Ahnung vom Problem. Nochmals danke!
Nachdem ich keinen Zugriff mehr auf die alte DB habe, um einen neuen Dump zu erstellen, kann ich entweder ...

... DUK benutzen: http://forum.mysqldumper.de/viewtopic.php?p=19187#19187

oder ...

... diesen SQL Befehl für jeden Umlaut durchführen: http://www.phpbb.de/community/viewtopic ... 5&t=162049 (ich nehme an in phpMyAdmin soll man das eingeben)

Nachdem ich so kurz vor dem Ziel nicht wieder alles schlimmer machen will, würde ich mich über einen Hinweis freuen, welcher Weg für einen Anfänger zu empfehlen ist.

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 21:49
von Mahony
Hallo
Die einfachste Möglichkeit besteht darin, heraus zu finden in welchem Zeichensatz die Datenbank das Backup erwartet.

Das bekommst du durch Eingabe des SQL-Befehls

Code: Alles auswählen

SHOW VARIABLES LIKE 'character_set%';
heraus.

In der Ausgabe schaust du dann, was bei character_set_client und bei character_set_connection steht.

Das ist dann der benötigte Zeichensatz.

Jetzt konvertierst du mit einem guten Editor das Backup in den benötigten Zeichensatz (also einfach den Zeichensatz wählen und speichern).
Als Editor kannst du zum Beispiel TextPad: http://www.textpad.com/download/index.html
oder (besser) SuperEdi: http://www.pcfreunde.de/download/detail ... eredi.html verwenden.
forum.mysqldumper.de hat geschrieben:Öffne die Datei nun mit Deinem Texteditor und wähle anschließend "Datei/Speichern unter". Im unteren Bereich findest Du die Möglichkeit den Zeichensatz zu wählen den Dein Server erwartet. Dabei entspricht "Standard" latin1.

Die so gespeicherte Datei kannst Du mit z.B. WinAce wieder in das GZ-Format packen, auf den Server laden und mit MySQLDumper einspielen.
Das wars schon.

Grüße: Mahony

Re: Nach Umzug kein Posten u. keine Umlaute - KB konsultiert

Verfasst: 03.02.2010 22:44
von wozu
Das Board schnurrt wieder wie ein Kätzchen! Vielen Dank für die Hilfe!