lighttpd mit php5 Unterstützung Umlaute rauben mir den NERVEN!

Gast #2551843
Lesenswert?

Hallo zusammen,
ich hab ein Debian Grundsystem und wie oben im Betreff genannt einen 
Webserver am laufen.

Läuft auch alles sehr stabil, jedoch werden die Umlaute total merkwürdig 
dargestellt.

Ok, dann hab ich mal Tante google befragt.
Anscheinend würde sich das Problem lösen, wenn man die Zeichenkodierung 
auf
iso-8859-1 umstellt.

daher ich als erstes mal locales neu eingestellt:

root@debian-igel:~# dpkg-reconfigure locales
Generating locales (this might take a while)...
  de_DE.ISO-8859-1... done
  de_DE.UTF-8... done
Generation complete.


Am Ende hatte ich utf-8 fürs Hauptsystem ausgewählt.

Anschließend hatte ich die php.ini folgendermasen abgeändert:
default_charset = "iso-8859-1"

dann halt noch die lighttpd.conf:
dir-listing.encoding        = "iso-8859-1"

dann den Server neugestart:
/etc/init.d/lighttpd restart

Wenn ich aber wieder auf meinen Server zugreife, bekomme ich weiterhin 
die Umlaute merkwürdig dargestellt.

An was könnte es liegen?

Cu uff
Gast #2551881
Lesenswert?

Gebe mal im HTML-Code so etwas ein:
ü  ö  ß
das sollte ü, ö, ß darstellen. Wenn das nicht funktioniert, ist 
tatsächlich etwas falsch, wenn es aber geht hast du lediglich falsch 
programmiert...
Denn: Den Webserver interessieren Encodings etc. überhaupt nicht, der 
leitet nur weiter. Die sicherste Methode ist eben immer ö etc. zu 
schreiben, eine andere Möglichkeit ist deine Quellcodedateien als UTF-8 
zu speichern (im Texteditor auszuwählen) und dann in den HTML-Header 
folgendes zu schreiben:
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
Nach "HTML UTF-8" zu googlen hilft auch. zB da:
http://de.selfhtml.org/html/allgemein/zeichen.htm
Gast #2552023
Lesenswert?

Der Weise schrieb:
> Die sicherste Methode ist eben immer &ouml; etc. zu
> schreiben

Das ist die schlechteste Methode. Damit wird das Problem nur scheinbar 
behoben. Versuch mal andere Zeichen, die nicht im ISO-8859-1 vorhanden 
sind, darzustellen.

uff schrieb:
> Anscheinend würde sich das Problem lösen, wenn man die Zeichenkodierung
> auf
> iso-8859-1 umstellt.

Besser wäre es komplett auf UTF8 umzustellen. Erstell mal eine einfache 
HTML-Datei und schreib da Sonderzeichen rein. Beim speichern darauf 
achten, dass die Kodierung auf utf8 ist. Mit LiveHTTPheaders (Firefox 
Addon) prüfen ob auch der richtige Header gesendet wird.
Gast #2552038
Lesenswert?

Troll schrieb:
> Das ist die schlechteste Methode. Damit wird das Problem nur scheinbar
> behoben.
Dass das besonders toll ist, sag ich nicht, das funktioniert nur 
vermutlich in den meisten Fällen. Der ganze "Webtechnologie"-Murks 
basiert doch auf schlechtesten, aber meistens funktionierenden 
Methoden...
> Besser wäre es komplett auf UTF8 umzustellen.
So die Theorie. Da aber immer noch welche dem ISO-8859-* Chaos 
hinterhertrauern...
Gast #2552224
Lesenswert?

Nochmal viel Dank für Eure Hilfe...
folgendes hatte geholfen:

root@debian-igel:~# dpkg-reconfigure locales
Generating locales (this might take a while)...
  de_DE.UTF-8... done
Generation complete.

ich hatte nur utf-8 ausgewählt.

dann die php.ini abgeändert:
default_charset = "utf-8"

dann halt noch die lighttpd.conf:
dir-listing.encoding        = "utf-8"


jetzt funktioniert alles hervorragend ;)

Das Problem schien die php.ini zu sein, denn ich kann mich daran 
erinnern das es so aussah: ;default_charset = "utf-8".

Ich hatte damals das Semikolon entfernt aber dann auch gleich iso 
eingetragen....das war ein Irrtum !!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren