Integration in eigene Seite / utf-8, latin1 Problem

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Gesperrt
Ray_Geering
Mitglied
Beiträge: 4
Registriert: 13.09.2008 23:01

Integration in eigene Seite / utf-8, latin1 Problem

Beitrag von Ray_Geering »

Anhand der Anleitung habe ich phpBB3 (3.0.2) in meine Seite eingebunden und ein eigenes Login Formular erstellt. Das funktioniert soweit auch alles einwandfrei.

Mein Problem ist aber, dass die Datenbank meiner Seite (nicht die vom Forum) latin1 ist und nun einige Umlaute falsch kommen. Da ich nicht die Template Engine von phpBB verwende, kann ich nur schwer nachvollziehen, wo/wie phpBB Inhalte meiner Datenbank umwandelt.

Sobald ich die Forum Integration rausnehme, kommen die Umlaute wieder korrekt.

Beispiel (altes Layout ohne Forum):
http://hockeyarenas.net/index.php3?page=3000&arID=138

Neues Layout mit Forum
http://hockeyarenas.net/index.php3?page ... =138&ver=3
(siehe Ortsname)

Das index.html Template hat im Meta Tag charset=iso-8859-1

Forum und eigene Homepage verwenden zwei unterschiedliche Datenbanken (utf-8 bzw. latin1).

Leider konnte ich bis jetzt keine Lösung finden und ich hoffe, jemand kann mir hier weiterhelfen.

/Ray
Ray_Geering
Mitglied
Beiträge: 4
Registriert: 13.09.2008 23:01

Beitrag von Ray_Geering »

Mittlerweile habe ich ein Workaround gefunden. Da phpBB mir anscheinend die Werte nach utf8 codiert, ruft meine Template Engine nun eine Funktion auf, die mir das ganze wieder via $utf8_decode zurück konvertiert.

Code: Alles auswählen

function fncLatin1HTML ($str_utf8, $bolHTML=True, $bol_decode=False) {

	if ($bol_decode<>0) {
		$latin1 = utf8_decode($str_utf8);
	} else {
		$latin1 = $str_utf8;
	}

	if ($bolHTML<>0) {
		$latin1 = HTMLEntities($latin1);
	}

	return $latin1;

}
Sicher ist es nicht ideal, zuerst alles in utf8 zu konvertieren und dann wieder retour in latin1... aber zumindest funktioniert es, ohne dass ich am phpBB Code etwas mutieren muss.
Benutzeravatar
Day_Walker
Mitglied
Beiträge: 4
Registriert: 03.07.2008 11:32

Beitrag von Day_Walker »

wie und wo hast du den code denn eingefügt ?
Ray_Geering
Mitglied
Beiträge: 4
Registriert: 13.09.2008 23:01

Beitrag von Ray_Geering »

Mittlerweile ist der Code nirgendwo drin.... mit diversen Zeichen hätte das trotzdem Probleme gemacht.

Ich habe nun die ganze Datenbank auf utf8 konvertiert (export der alten db, DEFAULT CHARSET=latin1 auf utf8 geändert, import in neue utf8 Datenbank) sowie die html templates und den php Code geändert.

Ist die "sauberste" Variante. War zwar etwas aufwändiger, aber schlussendlich hat es sich gelohnt.
Gesperrt

Zurück zu „[3.0.x] Installation, Update und Konvertierung“