Es klingt wie ein schlechter Scherz aus der IT-Steinzeit, ist aber auch im Jahr 2025 noch bittere Realität: Entwickler und Administratoren kämpfen unter Windows täglich mit der korrekten Darstellung deutscher Umlaute in Skripten. Während KI-Systeme komplexe Codes generieren, scheitert das Betriebssystem oft an einem simplen „ü“. Der Grund dafür liegt tief in den historischen Altlasten von Microsoft vergraben.
Die Windows-Kommandozeile (CMD.exe) verwendet standardmäßig immer noch die Zeichensätze CP437 und CP850. Diese „Codepages“ wurden ursprünglich in den 1980er Jahren für IBM-PCs entwickelt. Auch die moderne PowerShell macht es nicht viel besser: Je nach Version (5.1 vs. Core 7+) kommen unterschiedliche Standard-Encodings zum Einsatz, was zu einem unvorhersehbaren „Zeichensalat“ führt. Selbst Notepad, der Standard-Editor von Windows, hat erst im Jahr 2018 (!) UTF-8 als Standardformat eingeführt – Jahrzehnte nach dem Rest der Welt.
Das Encoding-Problem wird besonders deutlich, wenn man über den Microsoft-Tellerrand blickt. Linux und macOS setzen bereits seit ca. 2005 konsequent auf UTF-8 als Systemstandard. Python nutzt UTF-8 als Default seit Version 3 (2008), und in der Web-Entwicklung ist es seit den frühen 2000ern der unbestrittene Standard. Während moderne Systeme Unicode „sprechen“, schleppt Windows 40 Jahre Rückwärtskompatibilität mit sich herum.
Das Resultat: Ein deutsches Sonderzeichen durch ein System zu schleusen, das auf amerikanischem ASCII aus dem Jahr 1963 basiert, bleibt ein Glücksspiel.
Der häufigste Tipp lautet oft: „Nutz doch chcp 65001!“.
Dieser Befehl soll die Konsole theoretisch auf UTF-8 umstellen. In der Praxis ist das jedoch oft eine Sackgasse, da viele interne Windows-Befehle und alte Binarys weiterhin ANSI-Encoding erwarten. Das Ergebnis beim Ausführen von Batch-Dateien ist oft ernüchternd: Aus einem sauberen „Müller“ wird ein kryptisches „Müller“ oder einfach nur ein Rechteck-Symbol.
Microsoft hat das Problem zwar erkannt und bietet in Windows 11 unter Region > Administrative Spracheinstellungen die Option „Beta: Unicode UTF-8 für weltweite Sprachunterstützung“ an. Doch der Zusatz „Beta“ steht dort nicht ohne Grund: Die Aktivierung kann ältere Software instabil machen oder zum Absturz bringen.
Für Entwickler, die robuste Skripte für Deployment und Administration schreiben müssen, bleibt daher auch 2025 oft nur die Kapitulation vor der Technik: Back to ASCII.
Wer sichergehen will, schreibt „pruefen“ statt „prüfen“. Es ist die einzige Methode, die garantiert auf jedem Windows-System funktioniert – egal ob Windows 10, 11 oder Server 2022.