# Falsche Anzeige von Sonderzeichen



## LoMo (12. Juli 2006)

Hi community,

ich hab ein rießen Problem und zwar hab ich morgen meine Projektarbeit. Das Projekt wurde für die Vorführung auf mein Notebook installiert. Verwendet wurde PHP. Es funktioniert zwar optimal aber auf meinen Notebook werden Umlaute (ä, ü) als "?" ausgegeben.

Das eigenartige dabei ist dass, wenn ich mit den gleichen browser auf die Anwendung im Web gehe (sind beide exakt identisch) werden die Umlaute ohne Probleme korrekt angezeigt. Nur bei mir Lokal auf den Notebook kommt der Fehler. Kann das an irgend ner Einstellung liegen beim Browser oder Webserver ? Wenn ja weiß jemand welche ?

Schonmal danke

mfg


----------



## KiRiN (12. Juli 2006)

Moin, 

ich bin zwar kein Sonderzeichenexperte, aber das müsste irgendwie an der Kodierung liegen.  - kooler Tip was?

Das war bei mir früher immer bei Windofs 98 und nun ist das ab und zu bei Linux mit dem Konqueror so. 

Probier mal anstatt von &...; sachen das eigentliche Zeichen anzugeben. Also anstatt von &uuml; ==> ü, oder eben umgekehrt. Manchmal hat das beim IE 5 geholfen.


----------



## LoMo (12. Juli 2006)

KiRiN hat gesagt.:
			
		

> Moin,
> 
> ich bin zwar kein Sonderzeichenexperte, aber das müsste irgendwie an der Kodierung liegen.  - kooler Tip was?
> 
> ...




Habs mal probiert geht leider auch nicht. Die Codierung hab ich auch schon ein paar mal auf jedes denkbare Format (UTF-8 usw.) umgestellt leider kein Erfolg. Trotzdem vielen Dank für die Hilfe


----------



## flashray (12. Juli 2006)

Hallo Lomo,

hast du die Angabe zur Zeichenkodierung im HTML Kopf auch richtig gesetzt?

Schau mal hier:
SELFHTML: HTML/XHTML / HTML-Kopfdaten / Meta-Angaben zum Inhalt


Vg Erdal


----------



## Gumbo (13. Juli 2006)

Gibst du die verwendete Zeichenkodierung auch im HTTP-Header an? (Siehe „Content-Type“-Header-Feld)


----------



## Dr Dau (13. Juli 2006)

Hallo!

Betrifft es nur PHP-Scripte oder auch HTML-Dateien?
Wenn es sich nur um PHP-Script dreht, könnte es evtl. schon helfen wenn Du durch einen Eintrag in der php.ini improvisierst.....

```
default_charset = "iso-8859-1"
```
oder
	
	
	



```
default_charset = "utf-8"
```
Ersterer müsste auch schon in der php.ini stehen..... allerdings durch ein Semikolon auskommentiert.
Und nicht vergessen Apache (?) neu zu starten, damit die Änderung in der php.ini auch übernommen wird.

Ansonsten solltest Du zukünftig die Zeichkodierung direkt mit der Datei senden.
Entweder per <meta>-Tag (dann kannst Du aber kein header() mehr senden) oder Du sendest die Zeichenkodierung gleich über den header() mit (vor dem header() darf dann natürlich nichts an den Browser gesendet werden).
Ansonsten läufst Du Gefahr dass der Server eine falsche (nicht zum Dokument passende) Zeichenkodierung an den Browser sendet und/oder dass der Browser die Zeichenkodierung nicht korrekt erkennt.

Gruss Dr Dau


----------



## Gumbo (13. Juli 2006)

Die verwendete Zeichenkodierung erst im Dokument selbst zu nennen, ist eigentlich zu spät. Denn bevor der User Agent das erste Bit des Nachrichtenkörpers ließt, muss er die Zeichenkodierung kennen.


----------

