2009-02-13 4 views
13

Per qualche ragione, la mia installazione di gcc sembra essere la stampa di un carattere "a con un carato" al posto di tutti% s nei suoi messaggi di errore, per esempio,Perché gcc ha "â" in tutti i suoi messaggi di errore?

test.c:4: error: expected â, â, â, â or â before â token 

Qualcun altro ha visto prima? (Inutile dire che è difficile per Google.)

(Questo è su Ubuntu 8.10)

Edit: Il ragazzo alla http://ubuntuforums.org/showthread.php?t=252832 dice di impostare LC_MESSAGES = en_US ma che non fa nulla per me.

risposta

20

Aha! Il problema era che ho LANG = en_US.UTF-8 e stavo usando xterm. Apparentemente, non va bene. Impostando LANG = C o LANG = en_US, tutto è perfetto ora.

+0

è necessario accettare la risposta fornita da theomega quindi. –

+0

Sì. Il problema era che GCC ha fornito messaggi UTF8, mentre xterm non può gestirli. utilizzare un terminale più moderno e attaccare con UTF8 se lo si desidera – ypnos

+1

@ Anti9: No, la risposta di theomega era l'opposto di quello che dovrei fare – mike

7

Quali sono le impostazioni di LANG (chiamate "esportazione" su una bash in un terminale)? provare a impostare il Lang a un valore corretto come

LANG = "en_US.UTF-8"

utilizzando

dichiarare -x LANG = "en_US.UTF-8"

Questo sembra essere un problema con il set di caratteri, quindi forse vuoi ricontrollare quello giusto.

+0

Ho già LANG = en_US.UTF-8 :( – mike

+0

Aha! Questo è stato effettivamente il problema.Tarò la risposta – mike

1

Sembra una follia per me, ma volevo solo inserire che potreste essere in grado di Google più facilmente chiamando il^a circonflesso, che è quello che viene solitamente chiamato quando viene usato come accento.

+0

Hai ragione - Mi sto avvicinando: http: // mlblog. osdir.com/lib.gnulib.bugs/2005-09/msg00100.shtml – mike