Umlaut-Problem

Hallo!

Ich bin vor kurzem auf das Problem gestossen, daß Umlaute in meinen php-erzeugten Seiten im IE als „ü“, „ö“ und ähnliches angezeigt.

Im Quelltext stehen jedoch normale ü’s und ä’s.

Wenn ich den gleichen Quelltext verändere (woran es genau liegt hab ich noch nicht rausgekriegt), dann werden die Umlaute wieder richtig angezeigt… obwohl im Quelltext nach wie vor die gleicehn ü’s und ä’s stehen.

Per php-Ersetungsverfahren wollen sich diese Umlaute nicht in &htmlcode-dingsda-teile; umwandeln lassen. Die werden einfach nicht gefunden.

Irgendwie ist das alles ziemlich durcheinander. Ich krieg einfach nicht raus, wo der Unterschied zwischen der html-Seite, bei der es richtig funktionniert, und der, bei der nur Buchstabensalat angezeigt wird, liegt.

Zunächst hab ich auf das „“ getippt, aber das ist in beiden Codes identisch.

Hab auch schon gegoogelt und viele ähnliche Probleme gefunden. Jedoch keine Lösung, die bei mir funktionniert.

Ich bin mir fast sicher, ich hab was ganz banales übersehen… aber was?

Hallo!

Lass mich raten, das ist dein eigener Webserver? Dann öffne die Apache Config Datei und schaue nach ob AddDefaultCharset UTF-8 ist, ok das änderst du in ISO-8859-1. Apache neustarten fertig. Hilft das? Ich hatte heute genau das gleiche Problem :wink: Benutzt du auch Fedora?

Gruss Jan

Zunächst hab ich auf das „“ getippt, aber das
ist in beiden Codes identisch.

Danke, so wird es korrekt angezeigt!

Ich verstehe nur immernoch nicht, wodurch sich die Umlaute von meinen „normalen Umlauten“ unterscheiden…

Wenn ich z.B. mit php alle ü’s durch ü ersetzen will, dann ersetzt er nur die ü’s, die sowieso schon korrekt dargestellt wurden; es wimmelt dann immernoch von ^Ä% und so.

Ich schätze, ich werde das jetzt einfach ignorieren… aber falls irgendwer eine Ahnung hat, wo die „komischen Umlaute“ herkommen (sind das vielleicht die, die ich aus sql ausgelesen hab?) und durch was sie sich von den normalen unterscheiden (kann eigentlich nur der ascii-code sein…? Aber es gibt doch nur 1 ü… oder?), wär ich trotzdem noch dankbar für 'ne Antwort.

Mein Problem hat sich zwar jetzt gelöst, meine Verwirrung aber noch nicht.

Ich verstehe nur immernoch nicht, wodurch sich die Umlaute von
meinen „normalen Umlauten“ unterscheiden…

Wenn ich z.B. mit php alle ü’s durch ü ersetzen will, dann
ersetzt er nur die ü’s, die sowieso schon korrekt dargestellt
wurden; es wimmelt dann immernoch von ^Ä% und so.

Das liegt daran, dass dein System so eingestellt ist, dass alle Programme mit dem Zeichensatz UTF-8 arbeiten, der „Sonderzeichen“ (also ganz grob gesagt schonmal alles mit 'nem ASCII-Code >127) anders codiert als der recht weit verbreitete Zeichensatz ISO8859-1. Insbesondere werden deutsche Umlaute durch zwei Zeichen dargestellt, die dann von anderen Programmen die nicht damit rechnen nicht wieder „zusammengefasst“ werden. Manche Zeichen werden auch durch 3 oder 4 Bytes codiert.