Gunnar Bittersmann: Text speichern UTF-8 betrifft auch Windows

Beitrag lesen

@@Pete:

Format speichern als Ansi(wieso eigentlich ansi dachte wäre ascii).

Nö, ASCII ist nur 7 Bit, also die Zeichen U+0000 bis U+007F (dezimal 0 bis 127). Das sog. ANSI ist Windows-1252 (bis auf den Bereich U+0080 bis U+009F identisch mit ISO 8859-1), 8 Bit, also das doppelte an Zeichen.

Das lag daran, weil einige polnische Zeichen mit drin waren.

Diese sind in Windows-1252 (ISO 8859-1) nicht enthalten.

Ok, dann speichere ich halt in UTF-8, aber ganz wohl ist mir nicht dabei.

Mir wäre bei so ziemlich jeder anderen Zeichencodierung unwohl.

  1. Kann das auch mal ein Nachteil sein oder macht es Sinn immer alle .txt-Dateien als utf-8 zu speichern?

Nein. (Es könnte ein Nachteil sein, das mit dem Windows-Notepad zu tun, da dieser stets mit BOM speichert. [QA-UTF8-BOM])

  1. Wie sieht das bei PHP aus? Ich nutze oft textbasierende Dateien als DB. In welchem Format werden die dann standardmässig gespeichert also mit fopen/fwrite? Gibt es hier etwas zu beachten?

Dass du die Daten richtig in die DB reinschreibst und rausliest (am besten die Daten in der DB auch in UTF-8 codieren). Dass du für String-Operationen nur Multibyte-Funktionen nutzt. Last, but not least, dass du die Zeichencodierung richtig angibst. [QA-CHANGING-ENCODING]

[…] weil es irgendwie keine lehrhafte Dummy-Lektüre  zu diesem Thema gibt.

Ähm ... Zeichencodierung für Dummies: [QA-WHAT-IS-ENCODING]

Live long and prosper,
Gunnar

--
Erwebsregel 208: Manchmal ist das einzige, was gefährlicher als eine Frage ist, eine Antwort.