Umlaute auf Smartphone

Hallo, ich will eine txt-Datei per PHP als Webseite
darstellen.
Seitdem ich mit unter Android diesen Text etwas geändert und
wieder hochgeladen hatte, waren alle Umlaute versaut.
Hier in reiner HTML-Code, statt eingebundener txt-Datei zwei Zeilen:Text
Mit Knoppix geschrieben: Thüringer Straßenbahn

Am Android-Smartphone bearbeitet: Thᅵringer Straᅵenbahn

Da ich sowieso den Text (wegen der Zeilenumbrüche) mit PHP ausgebe, könnte ich zwar jedes Zeichen untersuchen und umwandeln.
Aber es müsste doch auch mit einer HTML-Kopfangabe gehen.
Da blicke ich allerdings nicht durch.
Kann mir mal jemand die richtige Angabe mitteilen, so dass
beide Zeilen unter allen Systemen richtig dargestellt werden.
Ich bedanke mich und wünsche Guten Abend und schönen Sonntag.

Moin,

wieder hochgeladen hatte, waren alle Umlaute versaut.

Dann behauptet jemand, dass die Datei in einem anderen charset an den Client gesendet wird, als das charset in dem sie geschrieben ist.

Hier in reiner HTML-Code

Da fehlt die Angabe des charsets. Woher soll der darstellende Client wissen, aus welchem charset der Umlaut kommt?

Da ich sowieso den Text (wegen der Zeilenumbrüche) mit PHP
ausgebe, könnte ich zwar jedes Zeichen untersuchen und
umwandeln.

Du musst nichts umwandeln. Du musst die Datei in einem charset schreiben (z.B. iso-8859-1 oder utf-8), in der HTML-Datei musst Du angeben, mit welchem charset die Datei geschrieben ist und Dein Server muss die fertige Seite auch im selben charset ausliefern.
Wenn eine der drei Angaben widersprüchlich ist, kann es schon in die Hose gehen.

Eigentlich ganz einfach und auch logisch, denn der Code für einen Umlaut in utf-8 ist ein anderer als in iso-8859-1. Die Codes für Buchstaben und Ziffern ist allerdings überall gleich, weswegen diese Zeichen auch immer richtig angezeigt werden, auch wenn die charset-Angaben - so wie bei Dir - widersprüchlich sind.

Aber es müsste doch auch mit einer HTML-Kopfangabe gehen.

Aber eben nicht alleine. Und passen muss es, beliebig darf es nicht sein.

Da blicke ich allerdings nicht durch.

Jetzt vielleicht? :smile:

Kann mir mal jemand die richtige Angabe mitteilen

Es gibt keine „richtige“ Angabe, und welche bei Dir richtig ist, hängt primär davon ab, in welchem charset Du Deine Textdatei speicherst.

Liebe Grüße,
-Efchen

zu aufwendig
Danke dir , Efchen, für die ausführliche Antwort,
aber ich kann nicht den richtigen Charset an 3 Stellen garantieren.
Vor Allem können die darzustellenden Texte auch von anderen Nutzern unterschiedlich erzeugt werden.
Das Bespeil war ja, dass mein (Android-)Ghost-Commander bei einer geringfügigen Änderung die Umlaute verwandelt hat.
Somit werde ich doch dem PHP-Script sagen, wie es die gelieferten Zeichen in benannte Zeichen umwandeln soll, die dann in jedem Browser, egal welcher Charset eingestellt ist, im HTML-Bereich richtig dargestellt werden (hoffentlich).
Guten Abend

Moin,

aber ich kann nicht den richtigen Charset an 3 Stellen
garantieren.

Du musst aber, wenn Du willst, dass sie immer angezeigt werden.
Wenn Du drei Personen hast, die alle eine andere Sprache sprechen, musst Du auch eine Dolmetscher finden, wenn Du willst, dass sie sich verstehen.
Alternativ kannst Du HTML-Entities für alle Sonderzeichen verwenden.

Vor Allem können die darzustellenden Texte auch von anderen
Nutzern unterschiedlich erzeugt werden.

Dann gibts bestimmt eine Möglichkeit, die Zeichen umzuwandeln. Entweder von einem charset in ein anderes oder in Entities. Dazu muss aber trotzdem das Ausgangs-charset bekannt sein.

Somit werde ich doch dem PHP-Script sagen, wie es die
gelieferten Zeichen in benannte Zeichen umwandeln soll

Du meinst Entities? Ja, das wäre natürlich möglich.

Gruß,
-Efchen