PHP/HTML Problem, folgende Zeichen werden auf der Seite angezeigt: 

...komplette Frage anzeigen

2 Antworten

Die generelle Antwort auf die generelle Frage lautet:

Ziehe eine einheitliche, hinreichende Zeichenkodierung durch Deine gesamte Webpräsentation durch!

DAS allerdings WEISST Du bereits.

Wenn Du detailliertere Hinweise haben möchtest, mußt Du aber detailliertere Angaben zum Problem liefern:

  • Welches Zeichen (am besten: in welchem Wort - damit man ein sicheres Urteil bilden und das ganze NACHSTELLEN(!) kann) wird so verwurstelt?
  • Welche Zeichenkodierung benutzt Dein Texteditor? Oder: Welchen Texteditor (oder welche IDE) benutzt Du zur Erstellung Deiner Seiten?
  • Welche Pfade nehmen Deine Text-Daten? Gehen die durch eine Datenbank? Wenn ja: Welche Zeichen-Kodierung benutzt DIESE? Ist die konsistent mit der, die Du in Deinem Editor verwendest?
  • Welche Zeichenkodierung meldet Dein Webserver an den Browser eines Benutzers? Was hast DU SELBST an Deinem Webserver dazu konfiguriert?
  • Welche Zeichenkodierung definierst Du gegebenenfalls - die vom Server gemeldete überschreibend - im Head-Bereich Deiner HTML-Dokumente?
  • Aus welchen unterschiedlichen Quellen stammen Deine Input-Daten? Alle nur aus ein und demselben Text-Editor unter Deiner persönlichen Fuchtel? Oder aus Browsern verschiedenster Nutzer über die Welt verteilt? Die sich vielleicht (dürfen die, gelle?!) nicht an die von Deinem Webserver oder Deinem HTML-Head definierten Kodierungen halten?

Ok, ich habe nochmal alles überprüft und konnte dann das Problem lösen. Ich benutze zum Programmieren Microsoft Expression Web 4. Dort hatte ich für alle Dateien UTF-8 festgelegt, aber da einem da nicht die aktuelle Kodierung angezeigt wird habe ich die Dateien mal mit Notepad++ geöffnet und hab da dann gesehen, dass nicht alle UTF-8 Kodierung hatten. Ich habe dann für alle Dateien UTF-8 ohne BOM als Kodierung gewählt, da ich schon gelesen hatte, dass die Zeichen durch die BOM entstehen. Da ich dem Browser weiterhin ISO-8859-1 als Kodierung mitteile, stellt er jetzt auch die Umlaute richtig dar.

0
@Thilo1992

Aaaah ja: Wie schnell das verständlich wird.Die Zeichen stehen (standen) also ganz vorn, und es ging mitnichten um Umlaute.

Du merkst, wie wichtig es für zügige Beratung ist, daß man den Fall ordentlich beschreibt?

Deine letzte Bemerkung hört sich aber nicht konsistent an:

Da ich dem Browser weiterhin ISO-8859-1 als Kodierung mitteile...

Du speicherst Deine Texte alle als "UTF-8" und bist stolz drauf, den Browser belügen zu wollen mit "ISO-8859-1"??

Das KANN nicht gut gehen! Eventuell hast Du das Glück, daß "Microsoft Expression Web" in Deinem HTML-Text im Head-Bereich die Zeichenkodierung zurechtgebogen hat, so daß der Quatsch, den Dein Webserver erzählt, einfach übergangen wird. Vielleicht stellt der von Dir getestete Browser auch von sich aus fest, daß er UTF-8 vor der Nase hat und pfeift auf die Behauptung des Servers, weil er sie als offentsichtlichen Unsinn erkennt. Verlassen würde ich mich darauf aber nicht. Besser Du gibt überall korrekt die tatsächlich verwendete Zeichenkodierung an!

1
@WhiteGandalf

Ich hatte schon versucht UTF-8 anzugeben, aber dann wurden die Umlaute falsch dargestellt.

Aber ich habe eben gemerkt, dass das nur bei den Daten aus der Datenbank so ist, also habe ich diese noch zu UTF-8 konvertiert und jetzt wird alles mit UTF-8 richtig dargestellt.

1

Ich hatte schonmal nen ähnlichen Fehler is aber ne Weile her und ich weiß nichtmehr wie ich ihn behoben habe, aber ich glaube es liegt daran, dass er (beisplielsweise) bei der Konvertierung zwischen utf8 und iso8859-1 ein Zeichen umkonvertiert und in ein anderes zurückkonvertiert.

Ich würde mal an der stelle an der die Zeichen kommen die Leerzeichen... durch neue ersetzen bzw die Datei im Editor neu laden und schaun ob sie dann da erscheinen und ersetzen

Hoffe ich konnte helfen, Marvin

Leider hat beides nicht geholfen. Was ich noch vergessen habe zu sagen, die Zeichen kommen aus einer Datei, in der ich nur PHP-Funktionen habe und erscheinen dann da wo ich die Datei einbinde. Und schonmal Danke für die Antwort.

0
@Thilo1992

Hmmm tut mir leid hab keine Ahnung was man dagegen tun könnte o.O

Vllt sind ja in der einen Datei Zeichen die von dem Satz der Anderen nicht unterstützt werde?

0

Was möchtest Du wissen?