# Zeichenkodierung: ö –> Ã¶



## mgraf (11. November 2009)

Hallo,
im Internet finde ich eigentlich nur immer andere Wege, aber nie meinen gesuchten (vielleicht suche ich ja auch falsch)

Wie auch immer, ich suche eine Möglichkeit, eingegebene Zeichen (hauptsächlich Umlaute und Sonderzeichen) in UTF-8 kodierungen umzuwandeln...
Also so:

```
ö => Ã¶
```

Kennt jemanden einen guten Weg hierfür?

PS:
Ich brauche nicht die HTML-Entities, sonder wirklich sowas hier

lg
michi


----------



## Gumbo (11. November 2009)

Dieses Wirrwarr bekommst du zu sehen, wenn UTF-8-kodierte Daten mit einer anderen Kodierung interpretiert werden. In diesem Fall scheint das ISO 8859-1 zu sein, da dort die Zeichen Ã und ¶ mit 0xC3 und 0xB6 kodiert werden, was in UTF-8 eben dem Code für ö entspricht.

Du musst also nur dafür sorgen, dass die UTF-8-Daten auch tatsächlich als UTF-8-kodiert interpretiert werden. Häufig fehlt einfach nur die richtige Angabe im HTTP-Header, da die dortige Angabe eine im Dokument selbst enthaltene überschreibt. Im Falle von PHP kannst du das mit Folgendem erledigen:
	
	
	



```
header('Content-Type: …;charset=utf-8');
```
Achte aber darauf, dass vorher noch nichts ausgegeben beziehungsweise an den Client gesendet wurde, da eine Änderung des HTTP-Headers sonst nicht mehr möglich ist.


----------



## mgraf (11. November 2009)

Danke Gumbo,
aber genau das will ich ja ;-)

Ich will ja die UTF-8 -> ISO 8859-1 kodierten Zeichen sehen, ich will ja auch einen Konverter dafür haben...

Also, in dem einen Eingabefeld, gebe ich die Umlaute/Sonderzeichen ein und im anderen soll dieser ( Ã¶Ã¤Ã¼Ã? ) Murks rauskommen.

lg
michi


----------



## Sven Mintel (11. November 2009)

Moin michi,

wie wäre es mit [phpf]utf8_encode[/phpf]

Das Ergebnis ist dann jedoch davon abhängig, mit welchem Zeichensatz die Datei kodiert ist...bei UTF8 sollte es das gewünschte ausgeben.


----------

