38 lines
862 B
Markdown
38 lines
862 B
Markdown
# Unicode vs ANSI in der Windows-Konsole
|
||
|
||
Standardmäßig nutzt die Windows-Konsole eine ANSI-Codepage (z. B. 850 oder 1252). Für echte Unicode-Zeichen wie 📁 oder ✓ ist das oft ungeeignet.
|
||
|
||
## Problem
|
||
|
||
- Ohne UTF-8: Unicode-Zeichen erscheinen als Kästchen oder Müll
|
||
- Ausgabe wie `📁` ergibt `ƒôü` oder ähnliches
|
||
|
||
## Lösung
|
||
|
||
### 1. UTF-8 aktivieren
|
||
|
||
```c
|
||
#include <windows.h>
|
||
SetConsoleOutputCP(65001); // Codepage 65001 = UTF-8
|
||
```
|
||
|
||
### 2. Kompiler-Flag setzen
|
||
|
||
```cmd
|
||
cl /utf-8 main.c ...
|
||
```
|
||
|
||
### 3. Terminal unterstützen lassen
|
||
|
||
- `cmd.exe`: nur begrenzt tauglich
|
||
- **Windows Terminal**: beste Wahl
|
||
- PowerShell (v7+) ebenfalls ok
|
||
|
||
### 4. Schriftart beachten
|
||
|
||
- Monospace + Unicode-fähig: `Cascadia Code`, `Segoe UI Emoji`, `Fira Code`
|
||
|
||
## Hinweis
|
||
|
||
- Auch Eingabe (`SetConsoleCP`) kann auf UTF-8 gesetzt werden, wird aber selten benötigt
|