Moin moin,
ich arbeite im Moment mit Joomla 3.6.5 lokal, die Datenbank ist "Server-Version: 10.1.19-MariaDB". Für eine besondere Anwendung (Kinoprogramm) habe ich für die speziellen Daten mit SQLMaestro ein eigenes Backend gebaut, das auch tadellos funktioniert. Insbesondere die Umlaute werden so wieder ausgeworfen, wie ich sie eingegeben habe. Im HTML-Header der dort erzeugten Seiten steht unter anderem:
[/b]
Das Modul, das ich für Joomla selbst geschrieben habe und per loadposition einbinde, funktioniert auch wie gewünscht, alles super ... aber leider bis auf eine erhebliche Kleinigkeit: Umlaute werden als "Fragezeichen auf einer stehenden Raute" (ich hoffe dieses Zeichen geht hier so durch: �) dargestellt. Das Zeichen ist für jeden Umlaut das gleiche. Im HTML-Header dieser von Joomla erzeugten Seite steht:
Alles, was ich an Umlauten ansonsten in diesem Modul per Joomla BE eingebe, erscheint korrekt. Nur die Inhalte aus meinen "Extratabellen" erscheinen mit verstümmelten Umlauten ...
Jetzt schaue ich mir die Datenbank an: Server-Zeichensatz: UTF-8 Unicode (utf8)
Mit PHPMyAdmin stimmt die Anzeige und die Ausgabe. Hier ist - wie bei meinem eigenen Backend - auch wieder alles in Ordnung. Die einzelnen Tabellen sind allerdings mit "utf16_german2_ci" angelegt.
Für die Joomla-Tabellen ist hingegen "utf8mb4_unicode_ci" eingestellt. Da habe ich meine eigenen Tabellen ebenfalls so eingestellt und auch ausgewählt "Alle Spaltenkollationen ändern" - null Ergebnis. Noch immer ist in PHPMyAdmin alles gut, im eigenen Backend auch - aber die Ausgabe im eigenen Modul ist unverändert verwurstet.
Jetzt weiß ich nicht mehr weiter! Die Umlaute werden offenbar nicht nur beim Ausgeben aus der Datenbank vermurkst, ich habe auch einen String drin mit einem Umlaut, der genauso verkehrt aussieht, also ist die Datenbank nicht (alleine ...) schuld.
Wo sollte ich noch weitersuchen?? Der Quellcode des Moduls ist bis heute unverändert auf einer mit Joomla 1.5x laufenden Seite genauso eingebunden, ich habe für den Umbau sogar die Datenbank 1:1 kopiert. Auf dem Webserver läuft der alte Code einwandfrei. Das macht es eine Ecke rätselhafter.
Im Code passiert nichts Aufregendes: Abfrage mit mysqli-Funktionen und dann etwas Gebastel mit Tabellen-Tags. Die Modulentwicklung habe ich mit Eclipse gemacht. Diese Codezeile hier:
[/b]
gibt das hier aus: "Pl�tzlich Papa!"
Vielen Dank
Andreas