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

Fragen zur Bedienung von phpBB 3.0.x, Probleme bei der Benutzung und alle weiteren Fragen inkl. Update auf die neuste phpBB 3.0.14 Version
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
wozu
Mitglied
Beiträge: 5
Registriert: 02.02.2010 19:12

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

Beitrag 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!
Zuletzt geändert von wozu am 03.02.2010 22:45, insgesamt 1-mal geändert.
Benutzeravatar
bantu
Server-Team
Beiträge: 7311
Registriert: 25.04.2006 16:12
Wohnort: Karlsruhe

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

Beitrag 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?
Powered by Coffee
wozu
Mitglied
Beiträge: 5
Registriert: 02.02.2010 19:12

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

Beitrag 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?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

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

Beitrag 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
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
wozu
Mitglied
Beiträge: 5
Registriert: 02.02.2010 19:12

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

Beitrag 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?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

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

Beitrag 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
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
wozu
Mitglied
Beiträge: 5
Registriert: 02.02.2010 19:12

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

Beitrag 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.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12327
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

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

Beitrag 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
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
wozu
Mitglied
Beiträge: 5
Registriert: 02.02.2010 19:12

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

Beitrag von wozu »

Das Board schnurrt wieder wie ein Kätzchen! Vielen Dank für die Hilfe!
Antworten

Zurück zu „[3.0.x] Administration, Benutzung und Betrieb“