Hallo,
Da ich so langsam am Verzweifeln bin suche ich hier mal wieder nach Hilfe
Ich habe eine Web-Anwendung in PHP5 geschrieben. Für die Verwaltung der Übersetzungen nutze ich die gettext-Extentsion von PHP. Im Prinzip funktioniert das Übersetzen mit gettext. Nur wenn der String Umlaute wie ä,ö oder ü enthält verweigert gettext die Arbeit. Es wird in diesem Fall der String aus dem Quelltext angezeigt. Was könnte hier das Problem sein?
Die Locales scheinen mir korrekt installiert zu sein, die .mo Dateien für gettext sehen auch gut aus (sonst würden die anderen Texte ja auch nicht übersetzt werden). So langsam gehen mir die Ideen aus.
Googlen zum Thema brachte bislang keine brauchbaren Ergebnisse. Ich fand nur TIpps für das Problem, dass Umlaute nicht korrekt angezeigt werden. Mein Problem scheint aber auf einer anderen Ebene zu liegen. Das Problem tritt auch nur(!) auf unserem Debian-Server auf, deshalb der Hilferuf hier. Ich habe die Anwendung auf anderen Systemen (Windows und Gentoo) getestet und konnte o.g. Problem nicht feststellen.
Fakten zum Server:
- Debian Sarge (mit allen aktuellen Updates)
- Apache 2 Webserver
- PHP 5.0.5-Debian-0.8 (es macht keinen Unterschied ob PHP als CGI oder Apache Modul läuft)
Ciao, Ab7zCh3kR
PHP5 / gettext
PHP5 / gettext
The last good thing written in C was Franz Schubert's Symphony No. 9.
Wenn du den charset im HTML-Dokument korrekt angibst, musst du die Umlaute nicht mehr umkodieren: z.B.
Welche locales hat der Server denn gesetzt? Eventuell liegt ja hier das Problem.
Code: Alles auswählen
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Danke für die Anworten. Das Problem hat nichts mit den HTML-Kodierungen zu tun, sondern ist ein grundlegendes und z.B. hier genauer erklärt.
@C167: Gettext in PHP ist recht einfach zu handhaben, siehe hier oder auch da.
Ciao, Ab7zCh3kR
@C167: Gettext in PHP ist recht einfach zu handhaben, siehe hier oder auch da.
Ciao, Ab7zCh3kR
The last good thing written in C was Franz Schubert's Symphony No. 9.