UTF8 & ISO-8859-1 gemischt

DoRiMaN

Erfahrenes Mitglied
Hallo an alle!

Ich habe derzeit ein Problem mit dem "mischen" der zwei Encodings.
Ich habe eine Anwendung geschrieben (Umfragetool), welche komplett mit UTF-8 arbeitet.
Die MySQL-DB ist UTF-8, die Tabellen sind UTF-8 und auch die Felder sind UTF-8.

Die Anwendung besteht aus UTF-8 kodierten Dateien, im HTML-Header wird der Content-Type auf UTF-8 gesetzt und nach der DB-Verbindung wird ein
Code:
SET NAMES 'utf8'
ausgeführt.

Soweit so gut, das funktioniert auch.

Das Problem: Eine Seite (Joomla) müss über mosaddphp eine Ausgabe dieser Anwendung anzeigen.
Diese wird über das mosadd geladen, und dort wird dann ein AJAX-Script ausgeführt.
Die Joomla-Seite selbst ist jedoch ISO-8859-1 und kann leider nicht umgestellt werden.

Umlaute werden korrekt angezeigt, speziellere Zeichen jedoch (z.B. tschechische) nicht. Ich habe bereits alle möglichen Varianten von Dateiencoding (auf ISO setzen für die AJAX Files), mit und ohne utf8_decode, etc. aber es will einfach nicht funktionieren.
Übersehe ich etwas?

Hier nochmal die Struktur:

/pollmanager (die UTF-8 Anwendung)
/joomla (ISO)
/joomla/mosaddphp -> /pollmanager/ajax.php


hoffe es einigermassen verständlich beschrieben zu haben :)

Danke im Voraus und Gruss
doriman
 
utf8_encode() wäre auch die richtige Variante. Blöd ist halt, dass wohl der tschechische Zeichensatz nicht in ISO-8859-1 enthalten sein dürfte.
 
Hallo Radhad,

danke für Deine Antwort.
Verstehe ich das falsch, oder ist utf8_encode genau das Gegenteil?
Das wandelt doch ISO-Strings nach UTF-8 um, ich will doch aber alles als ISO anzeigen?
Dass nicht alle Zeichen im ISO-Zeichensatz enthalten sind ist mir klar, doch einige wenige sollten doch troztdem funktionieren, oder?
 
Ach, sorry, ich hab das falsch herum gelesen - ich dachte die UTF-8 Anwendung greift auf Joomla! zu, nicht umgekehrt ... Also wenn nach utf8_decode() weiterhin kryptische Zeichen vorhanden sind, dann handelt es sich um Zeichen, die nicht im Zeichensatz von ISO 8859-1 vorhanden sind.

Generell könnte man aber auf ISO 8859-15 wechseln, da dort einige mehr Zeichen vorhanden sind als in ISO 8859-1. Allerdings werden in beiden Zeichensätzen nur Westeuropäische Schriftzeichen behandelt und Tschechien gehört ja eher zu den Osteuropäischen Ländern. Wie du siehst, läuft es auf ein größeres Problem hinaus.

Kannst du denn die Daten der UTF-8 Anwendung als iFrame in Joomla! einbinden?
 
Das hatte ich mir gedacht :(

iFrame wäre eine super Lösung, doch leider darf nicht gescrollt werden, und da ich die Daten dynamisch über AJAX lade weiss ich nicht wie Hoch der Inhalt schlussendlich sein wird. :(

naja, ich werde wohl damit leben müssen, in der Hoffnung dass bald ein neues Joomla aufgesetzt wird, und dort dann UTF-8 gewählt wird :)

Danke für Deine Hilfe!
 
Bitte :) Ich kenne die ISO 8859-1 / UTF-8 problematik ganz gut. Leider fehlt es auch an einfachen Konvertierungstools (ausgenommen iconv unter Linux).

Im Zweifel, mach das iFrame einfach riesig :D
 
Im Zweifel, mach das iFrame einfach riesig :D
daran hatte ich auch schon gedacht :D nur geht das nicht da es ja - da Joomla - ein Content ist welcher von den Seitenbetreibern selbst verwaltet wird (ziemliche DAUs :eek: ), und die würden es bestimmt hinkriegen, alles kaputt zu machen (mehrere Umfragen pro Seite, etc. und schon passt das riesen-iFrame nicht mehr) :D
 

Neue Beiträge

Zurück