Frage von ComputerGehilfe, 68

°Zeichen wird in html nicht angezeigt trotz passendem charset?

Hallo, ich habe das Problem das mir das °Zeichen nicht richtig angezeigt wird. Ein Wert wird aus einer Textdatei via PHP in eine Tabelle geschrieben, zb. 20.125 °C . So weit, so gut. Nur leider wird das ° als ? dargestellt. Im head habe ich folgendes angegeben.  meta http-equiv="refresh" content="0.00000001"  und meta charset="utf-8" Mit dieser Zeickencodierung sollte es doch eigentlich gehen oder? Ich bitte um eine schnelle Antwort.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von TeeTier, 17

Wie in der anderen Antwort angesprochen, benutze einfach ein Entity. Dann ist die Kodierung egal. Außerdem möchte ich wetten, dass du deine Datei einfach nicht als UTF-8 abgespeichert hast ... dabei ist dann völlig egal, was als Charset-Attribut angegeben ist.

Und zu guter Letzt: Der Refresh Pseudo-Header ergibt überhaupt keinen Sinn. Erstens sind dort keine Floats erlaubt, und selbst wenn, dann nicht mit so vielen Nachkommastellen. Du könntest gleich eine glatte "0" eintragen, und es hätte den selben Effekt. Der Effekt ist aber absolut sinnlos, da die selbe Seite immer und immer wieder sofort neu geladen werden wird.

Die meisten Browser dürften dieses ständige Neuladen mit einer Verzögerung von "0" auch nach ein paar mal abbrechen. Stell dir lieber stattdessen eine gängige Reload-Zeit von "3" oder "5" Sekunden ein. Das funktioniert dann auch, und überfordert den Server nicht.

Kommentar von ComputerGehilfe ,

Hallo, der Header war nur eine vorläufige Lösung. Statt die ganze Seite neu laden zu lassen, lasse ich jetzt nur noch einen Teil neu Laden. Meinen Fehler habe ich bereits gefunden, die shell Datei die einen Messwert in eine Textdatei schreibt, hatte die falsche Zeichenkodierung. Trotzdem vielen dank für deine ausführliche Antwort :)

Antwort
von TitusPullo, 42

Du kannst folgendes probieren:

Öffne die Textdatei mit Notepad++ und geh oben im Menü auf Kodierung und stell die Kodierung auf UTF-8 ohne BOM.

Antwort
von EyeBook888, 44

Hast du deinen Editor auch auf uff-8 gestellt? Ansonsten such mal nach dem HTML Sonderzeichenersetzngsteilen.

Kommentar von ComputerGehilfe ,

Mein editor nennt sich konsole..

Antwort
von perhp, 23

Wie hast du das Zeichen gemacht? Ich würde mich bei utf8 nicht bei jedem Zeichen darauf verlassen, dass es funktioniert, mach es hiermit: °


Kommentar von ComputerGehilfe ,

Womit wir bei meinem Problemchen wären.. eine shell datei schreibt einen Messwert in °C in eine Textdatei. Wenn ich das ° nun durch ° ersetze, funktioniert das Skript nicht mehr.

Antwort
von maximilianus7, 10

deine textdatei ist wohl nicht utf8, wahrscheinlich latin1. gib dies mal im charset an.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten