Kollationen - Ich kollabiere ;)

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.

Eine Neuinstallation von phpBB 2.0 wird auf phpBB.de nicht mehr unterstützt.
Siehe auch Entwicklungs-Ende von phpBB 2.0 - Auswirkungen auf phpBB.de
reidda
Mitglied
Beiträge: 4
Registriert: 30.09.2006 00:13

Kollationen - Ich kollabiere ;)

Beitrag von reidda »

Hallo.

So langsam aber sicher bin ich am verzweifeln! Ich habe schon Stunden mit Google verbracht, aber nie etwas passendes gefunden. Das Problem:

Ich habe einen Linux-Server, auf dem MySQL 5.0.22 rennt. Dort ist leider als Standart-Kollation UTF-8 angegeben. Wenn ich nun das phpBB 2.0.21 deutsch installiere, werden bei neuen Beiträgen, bzw. Themen ab dem ersten Umlaut die Texte abgeschnitten. Um es verständlicher zu machen ein Beispiel:

Eingetippter Text:
Heute abend war ich mit Jörg im Kino.
Nach dem Speichern ausgegebener Text:
Heute abend war ich mit J
Das ganze wird auch in der Datenbank nicht gespeichert. Wenn ich das ganze - testweise - in der DB manuell nachtrage, werden nur wirre Zeichen ausgegeben (verständlich).
Wie kann ich denn bei der phpBB Installationsroutine die Kollation ändern, oder ist es möglich - wie bei meinem selbst programmierten Blog - Sonderzeichen als HTML-Codes zu speichern (also z.B. für ä ein ä)

Bitte helft mir. Danke!
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Wenn du keine Möglichkeit hast, das in der php.ini oder der my.ini anzupassen, dann versuche folgendes: gehe in die ./db/mysql4.php, suche dort alle Vorkommen von

Code: Alles auswählen

mysql_
und ersetze sie duch

Code: Alles auswählen

mysqli_
(Achtung: das kommt sowohl in Kleinbuchstaben als auch in Großbuchstaben vor. Die Ersetzung jeweils analog in klein oder groß machen)
Dann suchst du

Code: Alles auswählen

				$this->dbname = $database;
und fügst davor ein

Code: Alles auswählen

				@mysqli_set_charset($this->db_connect_id, 'latin1');
Nicht getestet - daher die mysql4.php vorher sichern.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Oder direkt für das phpBB kannst Du auch das probieren:
finde in der functions_post.php

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&', '<', '>', '"');
ersetze gegen:

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#', '#ä#', '#Ä#', '#ö#', '#Ö#', '#ü#', '#Ü#', '#ß#' );
$html_entities_replace = array('&', '<', '>', '"', '&auml;', '&Auml;', '&ouml;', '&Ouml;', '&uuml;', '&Uuml;', '&szlig;');
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
reidda
Mitglied
Beiträge: 4
Registriert: 30.09.2006 00:13

Beitrag von reidda »

Danke! Ich werde erst mal die Lösung von PhilippK probieren. Denn damit wären wenigstens auch bei anderen Scripts die Probleme gelöst.
Vielen Dank. Und wenn es Fragen gibt, melde ich mich einfach hier nochmal.
reidda
Mitglied
Beiträge: 4
Registriert: 30.09.2006 00:13

Beitrag von reidda »

@Miriam: Habe nun deine Lösung genommen.
Jetzt wäre es aber gut, wenn man per PN auch Umlaute schreiben könnte. Wo kann ich das anpassen?
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

reidda hat geschrieben:Wo kann ich das anpassen?
Rate mal ......

finde in privmsg.php

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#');
$html_entities_replace = array('&', '<', '>', '"');
ersetze gegen:

Code: Alles auswählen

$html_entities_match = array('#&(?!(\#[0-9]+;))#', '#<#', '#>#', '#"#', '#ä#', '#Ä#', '#ö#', '#Ö#', '#ü#', '#Ü#', '#ß#' );
$html_entities_replace = array('&', '<', '>', '"', '&auml;', '&Auml;', '&ouml;', '&Ouml;', '&uuml;', '&Uuml;', '&szlig;');
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Na ja, die Lösung wird dann scheitern, wenn einer ein €-Zeichen verwendet, einen französischen Begriff reinschreibt usw.
Besonders elegant ist die nicht gerade...

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12227
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo
Du könntest es allerdings auch mal mit diesem Script hier versuchen >>>convert mysql4 collation<<<
Beschreibung:
Mit diesem Script lässt sich die Collation für die gesamte MySQL-4-Datenbank von einem Wert in einen anderen ändern. Bitte die beiliegende Liesmich-Datei beachten.


Grüße: Mahony
Zuletzt geändert von Mahony am 02.10.2006 00:26, insgesamt 1-mal geändert.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Mahony hat geschrieben:Mit diesem Script lässt sich die Collation für die gesamte MySQL-4-Datenbank von einem Wert in einen anderen ändern.
Das wird auch nicht helfen - relevant ist die Collation, die für die Verbindung definiert wurde - siehe auch http://dev.mysql.com/doc/refman/5.0/en/ ... ction.html

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
reidda
Mitglied
Beiträge: 4
Registriert: 30.09.2006 00:13

Beitrag von reidda »

PhilippK hat geschrieben:Na ja, die Lösung wird dann scheitern, wenn einer ein €-Zeichen verwendet, einen französischen Begriff reinschreibt usw.
Besonders elegant ist die nicht gerade...

Gruß, Philipp
Was schlägst du dann vor? Deine Lösung hat einen Fehelr produziert...
Gesperrt

Zurück zu „phpBB 2.0: Installation und Update“