www.mikrocontroller.net

Forum: PC-Programmierung lighttpd mit php5 Unterstützung Umlaute rauben mir den NERVEN!


Important announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: uff (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Autor: Andy D. (rackandboneman)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Filesystemtyp und Mountoptionen sind bei solchen Problem auch ggf 
relevant.

Welchen Encodingtyp musst du denn im Webbrowser einstellen damit die 
Anzeige stimmt?

Autor: uff (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
@ Andy D. warum sollte ich beim Webbrowser einen anderes encoding 
einstellen, wenn alle Seiten richtig dargestellt werden.

Wie gesagt spinnt irgendwo mein Webserver mit den Umlauten

Autor: Der Weise (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Autor: Läubi .. (laeubi) (Moderator) Benutzerseite
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht lesenswert
Du musst in der HTML, im Content-Type header, in der Datenbank und beim 
Fileencoding die korrekten Werte haben. Da würde ich mal forschen an 
welcher Stelle es nicht mehr passt, dann gibt es auch keine Probleme mit 
den Sonderzeichen.

Autor: Troll (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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.

Autor: Der Weise (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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...

Autor: uff (Gast)
Datum:

Diesen Beitrag bewerten:
lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel




Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder GIF-Format hochladen.
Siehe Bildformate
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken erkennst du die Nutzungsbedingungen an.

webmaster@mikrocontroller.netImpressumNutzungsbedingungenWerbung auf Mikrocontroller.net