# Xampp - Problem mit Umlauten



## adlershof (1. Dezember 2007)

Hallo Leute,

ich betreibe eine eigene kleine Homepage über ohost. Für diese Homepage nutze ich XAMPP um vorher z.B. zu testen, wenn ich etwas neu programmiere. Dabei kann es auch mal sein, dass ich Artikel offline vorschreibe und dann nur noch online setzen brauch. Allerdings ist es so, wenn ich die Artikel offline schreibe und in den Artikeln Buchstaben wie äöü sind, speichert er mir dies nicht richtig als äöü ab und macht irgendwelche anderen Zeichen. 

Woran kann das liegen, dass die äöü-Buchstaben nicht ordentlich abgespeichert werden?


----------



## Laudian (1. Dezember 2007)

Sie werden schon abgespeichert. Da Html aber ne spezielle Formatierung fuer derartige Sonderzeichen hat kann es sein, dass die Eingegebenen Sonderzeichen nicht umgesetzt werden vor der Speicherung. Passiert das, dann interpretiert er das Sonderzeichen als die entsprechende Kombi, die im Html-Satz dem Zeichen entspricht.

Du solltest immer die Zeichenkombi im html Satz nutzen, dann bist du auf der Sicheren Seite. Viele Html-Editoren haben Funktionen mit denen man Sonderzeichen direkt als Html-Satz einbauen kann.

Mit welchem Editor schreibst du deine html-Dateien?


----------



## Maik (2. Dezember 2007)

Hi,

möglicherweise stimmt hier die gewählte Zeichenkodierung für das Dokument nicht mit der Kodierung überein, in der es vom Editor gespeichert wird.

Wenn beispielsweise "UTF-8" als Zeichenkodierung deklariert wird


```
<meta http-equiv="content-type" content="text/html; charset=utf-8">
```
muss das Dokument auch in dieser Kodierung vom Editor ausgeliefert werden, ansonsten gibt der Browser "Hieroglyphen" anstelle der Umlaute aus.


----------



## Dr Dau (2. Dezember 2007)

Hallo!


adlershof hat gesagt.:


> Woran kann das liegen, dass die äöü-Buchstaben nicht ordentlich abgespeichert werden?


Bist Du Dir sicher dass die Umlaute nicht korrekt in der Datenbank gespeichert werden?
Ich würde es erstmal mit phpMyAdmin kontrollieren (auf den richtigen Zeichensatz achten, ISO-8859-1 bzw. ISO-8859-15).
Wenn phpMyAdmin die Umlaute korrekt anzeigt, stimmt die Ausgabe nicht.
Dann hast Du im Dokument entweder den falschen Zeichensatz oder Du hast ihn erst garnicht angegeben.

Einige sind zwar der Meinung dass der Zeichensatz per header() an den Browser gesendet werden muss, aber ich habe auch schon genau das Gegenteil erlebt (der Zeichensatz musste per <meta>-Tag gesendet werden).
Im Zweifel kannst Du aber auch beide Methoden anwenden. 

Der korrekte Zeichensatz sollte aber auf alle Fälle vom Dokument an den Browser gesendet werden, da der default-Zeichensatz von Apache bzw. PHP jederzeit geändert werden könnte und somit möglicherweise zur fehlerhaften Darstellung führen könnte.


Laudian hat gesagt.:


> Du solltest immer die Zeichenkombi im html Satz nutzen, dann bist du auf der Sicheren Seite.


Richtig.
Wenn man jedoch einen "Online-Editor" (z.b. bei einem CMS) verwendet, dann möchte man doch lieber wie in einer normalen Textverabeitung arbeiten und nicht mit irgend welchem HTML-Code (z.b. für die "benannten Zeichen") rumwurschteln. 

Gruss Dr Dau

PS: ich bevorzuge ISO-8859-15, da dieser Zeichensatz im Gegensatz zu ISO-8859-1 auch das Euro-Symbol berücksichtigt.


----------

