phpBB 3.0 Session in Homepage integriert - UTF8 defekt

phpBB 3.0 hat sein "End of Life" erreicht. Eine Neu-Installation wird nicht mehr unterstützt.
Gesperrt
MadCat81
Mitglied
Beiträge: 2
Registriert: 01.06.2009 13:11

phpBB 3.0 Session in Homepage integriert - UTF8 defekt

Beitrag von MadCat81 »

Hallo zusammen,

ich habe vor 2 Tagen die phpBB3 Session Verwaltung in meine Homepage integriert, damit ich ein quasi Single-Sign-On für Homepage und Forum habe. Klappt auch wunderbar soweit.
Hier könnt ihr das Ergebnis sehen: http://www.finis-coronat-opus.com

Dazu musste ich folgende Daten in der index.php meiner Homepage einbinden:

Code: Alles auswählen

	define('IN_PHPBB', true);
	//Dateierweiterung für PHP ermitteln
	$phpEx = substr(strrchr(__FILE__, '.'), 1);
	//phpBB3 common functions includieren
	include($phpbb3['root_path'].'common.' . $phpEx);
	// phpBB3 Session auslesen
	$user->session_begin();
	// phpBB3 Benutzer-Informationen laden
	$auth->acl($user->data);
$phpbb3['root_path'] enthällt den relativen Pfad zu meinem Forum, von der Homepage ausgesehen. Die common.php wird auch korrekt eingebunden.

Das Problem nun:
FAST Alle Umlaute auf meiner Homepage sind seitdem nicht mehr korrekt dargestellt.
Ich habe alle Inhalt als UTF8 codiert, die Datenbankverbindung ist auch mit UTF8 eingestellt und die Tabellen sowie die Datenbank sind auch mit UTF8_general_ci festgelegt.
Klappte soweit alles, bis ich die common.php per include mit dazu genommen habe.

Wenn ich in der index.php als festen Text z.B. ÄÖÜß per echo ausgebe, wird dies auch so korrekt angezeit.
Aber alle Daten, die aus der mySQL Datenbank gelesen werden, werden falsch dargestellt.

Daher denke ich, dass die Datenbankzugriffe durch die phpBB3 Funktionen nur latin_iso sind? Kann man das irgendwie abändern, so dass meine News usw wieder korrekt angezeigt werden.

Achso, noch ein Hinweis, weis nicht ob es hilft:
Ich habe eine kleine Shoutbox, welche mit AJAX(JavaScript) betrieben wird. Wenn ich damit einen neuen Eintrag schreibe, wird direkt der Ausgabebereich (kleiner <div id='shoutBox'></div> Container) aktualisiert. Der dort enthaltene Text ist dann korrekt in UTF8 mit Umlauten dargestellt. Aktualisier ich aber mit F5 die ganze index.php, sind die Umlaute wieder verhackstückelt.
Könnt ihr gerne mal testen, einfach einen Shoutbox Eintrag machen (bitte nicht alles zuspammen ;) ), dann sollten alle zuvor fehlerhaften Umlaute korrekt angezeigt werden. Und dann Seite aktualisieren, sind die Umlaute wieder defekt.

Ich habe alles ausprobiert und geändert. Dieser Fehler tritt nur auf, sobald ich die common.php von phpBB3 include. Hab auch versucht diese Datei als UTF8 zu definieren, aber dann geht das Forum gar nicht mehr. Hab auch in der mySQL Verbindungsdatei mit SET NAMES utf-8, und anderen Methoden, versucht die Verbindungen auf UTF-8 feste einzustellen, bringt auch keinen Erfolg.

Ich danke euch vielmals für eure Hilfe. Wenn ihr noch weitere Daten benötigt, stell ich diese euch natürlich gerne zur Verfügung.

Gruß
MaD
MadCat81
Mitglied
Beiträge: 2
Registriert: 01.06.2009 13:11

Re: phpBB 3.0 Session in Homepage integriert - UTF8 defekt

Beitrag von MadCat81 »

Ich hab nun alles was ich finden und ausprobieren konnte bereits ausprobiert, leider ohne Erfolg.

Verstehe einfach nicht, wieso die AJAX Shoutbox, nach dem Absenden, die Daten korrekt formatiert angzeigt, aber der ganze andere Rest der Webseite es nicht kann.
Und vor allem finde ich im phpBB3 Quelltext keine Stelle, wo der Zeichensatz gesetzt ist.
Im Unterordner includes/db sind in den Quelltexten der mysql.php und dbal.php auch nur SET NAMES UTF-8 SQL Befehle drin, nichts mit latin-iso.

Habe auch bereits die Einbindung der Datei includes/utf/utf_tools.php einmal heruasgenommen, dies bewirkt auch nichts.

Alle Dateien der Homepage sind auch UTF-8 codiert und gespeichert. Ein Wegeschreiben der Daten in die mySQL Datenbank mit der Funktion utf8_encode() und ein Auslesen mit utf8_decode() führt auch nur zu fehlerhaften Daten.

Wenn ich mit meinem eigenen News-Verwaltungsscript einen bestehnden Newsbeitrag abändere, ändert der normale UPDATE news_tab SET head='blöö', body='Mehr bla blö blübb!' WHERE newsid=1 die Schriftzeichen in der Datenbank auf latin-iso Zeichen ab, und schreibt diese dann in die utf8_general_ci formatierten Datenbankspalten. phpMyAdmin zeigt dann, im Gegensatz zu den vorher in der Datenbank gespeicherten Umlauten, die Zeichen als ö ü und ä an, und der Newsbeitrag auf der Webseite zeigt auch die Sonderzeichen korrekt an.

Merkwürdig.

Ich bin für jeden Tipp dankbar.
Gesperrt

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