phpbar.de logo

Mailinglisten-Archive

[php] gettext und deutsche Umlaute

[php] gettext und deutsche Umlaute

Lutz Zetzsche Lutz.Zetzsche at sea-rescue.de
Mit Sep 26 13:49:15 CEST 2007


Hallo Ringo,

Am Mittwoch, 26. September 2007 schrieb Ringo Großer:
> Niels Jäckel wrote:
> > Ich persönlich verwende jedoch grundsätzlich UTF-8 und halte
> > einfach alle Dateien in diesem Format. Es gab noch nie Probleme.
>
> Möchte ich ebenfalls gern tun. Welche Dateien sind mit "alle"
> gemeint? Ich hätte ggf Schwierigkeiten, sämtliche Script- und
> Template-Dateien des Projektes in UTF-8 zu konvertieren.

dabei solltest Du vorsichtig zu Werke gehen. Wenn Du Deine Dateien auf 
UTF-8 umstellst, gesellt sich meist diese Byte Order Mark an den 
Dateianfang:

http://forum.de.selfhtml.org/archiv/2005/11/t118807/

Dieses Steuerzeichen wiederum macht Dir Ärger, wenn Du irgendwo weiter 
unten  im Programm einen header() senden möchtest. Dann gibt es nämlich 
die alt bekannte Fehlermeldung "Cannot modify header information - 
headers already sent.". ;-)

> Außer du 
> hast dafür einen guten Tip, wie sich das per Batch erledigen ließe.

Na, im Zweifel mit PHP durch die Verzeichnisse laufen, Dateien öffnen, 
Inhalt auslesen, mit iconv in UTF-8 umwandeln, wieder in die Dateien 
zurückschreiben. :-) Dabei solltest Du aber genau wissen, was Du tust. 
Erstens siehe oben, zweitens sollte der Ausgangszeichensatz einheitlich 
sein, und drittens nicht vergessen, die Meta-Informationen 
(content-type) in HTML-Dateien ebenfalls anzupassen. Hinzukommt, daß Du 
einige string-Funktionen durch mbstring-Funktionen ersetzen muß. Das 
wiederum läßt sich aber nach meiner Erinnerung durch ein Mapping in der 
php.ini erledigen. Dort kann man sagen, daß die mbstring-Funktionen 
anstelle der string-Funktionen verwendet werden sollen. Gilt auch für 
die Mail-Funktion, meine ich.


Viele Grüße
Lutz

php::bar PHP Wiki   -   Listenarchive