8
votes

g ++ cotes Curly affichées de manière incorrecte dans la liste des consoles et des "problèmes"

Récemment, je suis passé de Visual Studio à Eclipse CDT. J'ai mis à merveille de sorte que le compilateur G ++ de mon installation Cygwin puisse localiser et compiler mon code sans ADO.

Il y a un grief mineur, cependant. Chaque fois que g ++ signale un avertissement ou une erreur, les citations Simple Curly ' et ' apparaissent comme " respectivement ™ < / code>. Cela semble être un problème de codage du personnage; G ++ ou cygwin crache un codage de caractère que CDT ou Eclipse n'aime pas.

Ceci est uniquement pertinent google résultat que je pourrais Trouver , mais réglage de la variable d'environnement C ++ lang dans les préférences de Eclipse sur C.utf-8 ou EN_US.UTF-8 a aucun effet.

En cours d'exécution C ++ de Cygwin révèle directement les guillemets célibataires bouclés. Y a-t-il un moyen de les désactiver complètement? Y a-t-il une variable d'environnement que je peux définir ou un argument que je peux passer?

dans les images

Eclipse montre des hiéroglyphes dans divers endroits:

 Eclipse's Problème Screen Écran de console d'Eclipse

Cygwin montre les symboles corrects (ignorer l'erreur fatale):

 cywgin révèle le symbole


0 commentaires

4 Réponses :


5
votes

Yep, vous devez soit obtenir Eclipse pour afficher UTF-8, soit pour arrêter Cygwin GCC de l'utiliser. Je ne sais pas comment faire le premier, mais vous pouvez faire ce dernier en veillant à ce que GCC soit dirigé avec quelque chose comme Lang = EN_US.ISO-8859-1.


1 commentaires

Oui, c'était ça! J'ai ajouté une variable d'environnement lang avec la valeur EN_US.ISO-8859-1 Dans les préférences Eclipse, et maintenant les caractères s'affichent de manière lisible.



2
votes

Cela a fonctionné pour moi aussi. La variable d'environnement doit être définie dans la fenêtre Préférences Eclipse sous C / C ++ / Build / Environment. Vous devez ajouter une nouvelle variable en cliquant sur le bouton Ajouter. Le nom de la variable doit être défini sur Lang et la valeur à EN_US.ISO-8859-1. Est-ce que quelqu'un sait quelle est la cause du problème? Cygwin, Eclipse, GCC ???


1 commentaires

S'il vous plaît poster cela comme un commentaire à la réponse d'AK2 à la place. De cette façon, il sera informé de votre réponse.



5
votes

Selon les notes de version GCC 4.0 http://gcc.gnu.org/gcc- 4.0 / CHANGEMENT.HTML :

Les messages de diagnostic de langue anglaise utiliseront désormais des guillemets UNICODE dans les locaux UTF-8. (Les messages non anglais ont déjà utilisé les citations appropriées pour la langue dans les versions précédentes.) Si votre terminal ne prend pas en charge UTF-8, mais que vous utilisez un paramètre paramètre UTF-8 (ces localités sont la valeur par défaut sur de nombreux systèmes GNU / Linux). Vous devez définir lc_ctype = c dans l'environnement pour désactiver cette locale. Les programmes qui analysent les diagnostics et s'attendent à définir des messages de langue anglaise de l'ASCII uni. CODE> LC_ALL = C . Voir Explication de Markus Kuhn's Explication des guillemets UNICODE pour plus d'informations.


0 commentaires

0
votes

Réponse 2 a fonctionné mieux pour moi lorsque vous utilisez GCC dans un terminal CYGWIN RXVT.

dans mon .bash_profile ajouté:

# Désactiver les guillemets UNICODE pour GCC

Exporter LC_CTYPE = C


0 commentaires