A volte capita che, eseguendo un programma C appena compilato nel Terminale, questo stampi caratteri strani al posto delle lettere accentate.
Se sei in questa situazione, provo a spiegarti perché accade e come risolvere il problema.
Perché il Terminale non stampa correttamente le lettere accentate?
Questo succede perché il programma C e/o il Terminale usano una codifica dei caratteri diversa da quella attesa (ad esempio, ASCII invece di UTF-8 o ISO-8859-1).
Se il file sorgente o il Terminale non sono tutti configurati per la stessa codifica (tipicamente UTF-8), i caratteri accentati possono essere visualizzati come simboli strani o punti interrogativi.
Come mostrare correttamente le lettere accentate nel Terminale
Su Windows, se stai usando il Prompt dei Comandi, dovrai digitare questo comando e premere INVIO:
chcp 65001Sempre su Windows, se come Terminale stai usando PowerShell, puoi digitare questo comando e premere INVIO:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8Infine, su MacOS e Linux puoi provare questo comando e premere INVIO:
export LANG=it_IT.UTF-8Questi comandi impostano la codifica del Terminale a UTF-8. È quindi necessario che i file sorgenti siano salvati con questa codifica (VS Code di default salva in UTF-8)!
ATTENZIONE: i comandi descritti hanno effetto sulla sessione in corso. Se chiudi e riapri il Terminale probabilmente dovrai ripetere la procedura per impostare la codifica!







