lang_main.php gegen eine utf-8 fähige austauschen

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
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

OK, dann anders... *g*
Das:

Code: Alles auswählen

function utf8_lang(&$array)
{
	if (is_array($array))
	{
		foreach (array_keys($array) as $key)
		{
			utf8_lang($array[$key]);
		}
	}
	else
	{
		$array = utf8_encode($array);
	}
}
in die functions.php einfügen (vor "?>"). In der lang_main.php vor dem "?>":

Code: Alles auswählen

utf8_lang($lang);
Bedenke aber, dass das nur funktioniert, wenn du lediglich die lang_main.php und sonst keine Sprachdatei einbindest. Ansonsten muss der Code anstatt in die lang_main.php an eine Stelle, an der alle Sprachvariablen verfügbar sind (z.B. in die init_userprefs()).
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
gobi
Mitglied
Beiträge: 69
Registriert: 29.11.2002 20:03
Kontaktdaten:

Beitrag von gobi »

Das hat funktioniert!!!! Ich bin ja ganz baff!!! 8)

Auch wenn ich das noch garnicht richtig verstehe :
S2B hat geschrieben: Bedenke aber, dass das nur funktioniert, wenn du lediglich die lang_main.php und sonst keine Sprachdatei einbindest. Ansonsten muss der Code anstatt in die lang_main.php an eine Stelle, an der alle Sprachvariablenverfügbar sind (z.B. in die init_userprefs()).
Wir werden sehen, ob noch Probleme auftauchen..


Vielen Dank für die Hilfe!!!
Gobi
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Das betrifft hauptsächlich die Sprachvariablen vom ACP, diese befinden sich ja in der lang_admin.php und nicht in der lang_main.php und werden deshalb auch nicht in UTF8 umgewandelt. Wenn du jetzt allerdings den Code aus der lang_main.php zusätzlich noch in die lang_admin.php verfrachten würdest, würden die lang_main-Variablen doppelt umgewandelt werden und die Umlaute und Sonderzeichen wären futsch.

Ich würde dir also empfehlen, den Code der lang_main.php am besten gleich in die init_userprefs() (functions.php) zu verschieben, am besten gleich ganz an den Schluss der Funktion.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
gobi
Mitglied
Beiträge: 69
Registriert: 29.11.2002 20:03
Kontaktdaten:

Beitrag von gobi »

Ic hab den von Dir beschriebenen Schritt noch nicht gemacht - man hat ja auch noch ein Privatleben....
:roll:

Allerdings hat sich jetzt eins meiner Mitglieder gemeldet, in dessen Name ein Ö verkommt - und nun wirds wirklich blöd, denn er kann sich nicht einloggen und wenn ich im Adminbereich die Einstellungen ansehen will, wird er mir als nicht existent angezeigt :cry:

Frage: wersen sich solche Probleme durch deinen tip lösen oder habe ich ein grundsätzliches Problem, das man auch grundsätzlicher angehen muss?
Gobi
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

Die Seite ist UTF8, die Daten in der Datenbank hingegen ISO-8859-1. Da stößt du auch das Problem, dass phpBB2 einfach nicht dafür gemacht ist, mit UTF8 zu laufen. :wink:

Sprich: Ohne großen Aufwand ist eine komplette Umstellung auf UTF8 nicht möglich.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
gobi
Mitglied
Beiträge: 69
Registriert: 29.11.2002 20:03
Kontaktdaten:

Beitrag von gobi »

:cry: ok - jetzt bin ich entgültig überfordert...
Das bedeutet unterm Strich was?

Update auf PHP3?
Gobi
Benutzeravatar
S2B
Ehemaliges Teammitglied
Beiträge: 3258
Registriert: 10.08.2004 22:48
Wohnort: Aachen
Kontaktdaten:

Beitrag von S2B »

phpBB3...

Wenn du UTF8 willst, wird dir über kurz oder lang nichts anderes übrig bleiben, es sei denn du kennst dich wirklich so gut aus, dass du dir das selber ins phpBB2 reinbasteln könntest...
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12179
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Beitrag von Mahony »

Hallo
S2B hat geschrieben:Die Seite ist UTF8, die Daten in der Datenbank hingegen ISO-8859-1
Wenn dies so ist, dann hilft dir das hier weiter KB:165

Um zu verstehen wie das ganze zusammenhängt, empfehle ich dir diesen Artikel (von Daniel Schlichtholz) zu lesen Die Umlautproblematik

mysqldumper.de hat geschrieben:Jetzt kommen wir zum praktischen Teil:
Seit MySQL 4.0 benutzt MySQL intern zum Speichern von Daten utf8.
Das bedeutet aber nicht, dass Programmierer jetzt zwangsläufig alle Programme auch utf8-kodieren müssen, denn MySQL kann die Daten in jedem gewünschten Zeichensatz liefern. Wir müssen dem Server nur sagen, in welchem Format wir die Daten bekommen möchten und auch in welchem Format wir Daten liefern!

Dazu können Programme nach dem Verbindungsaufbau z.B. den Befehl "SET NAMES latin1" an den MySQL-Server senden.
Dadurch "einigen" sich das Programm und der MySQL-Server darauf, dass der Datenaustausch zwischen beiden über latin1-kodierte Daten geschieht. Werden Daten von einem Programm an den MySQL-Server gesendet, nimmt MySQL die latin1-Daten entgegen, wandelt sie intern in utf8 und speichert sie korrekt.
Fragt das Script Daten ab, dann liest MySQL die Daten aus und wandelt sie vor der Rückgabe an das Script wieder in latin1 um.
Die Kommunikation klappt also perfekt, wenn sich die beiden auf einen Zeichensatz einigen, da sie so wortwörtlich die gleiche Sprache sprechen.
Es ist also völlig egal in welcher Kodierung die Daten Server intern gespeichert werden, solange sich beide Seiten auf einen Zeichensatz einigen, da sie so wortwörtlich die gleiche Sprache sprechen.




Grüße: Mahony
Taekwondo in Berlin
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Gesperrt

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