Utf 8 g++;控制台中不正确显示卷曲引号和;“问题”;列表

Utf 8 g++;控制台中不正确显示卷曲引号和;“问题”;列表,utf-8,character-encoding,cygwin,g++,eclipse-cdt,Utf 8,Character Encoding,Cygwin,G++,Eclipse Cdt,最近,我从VisualStudio切换到EclipseCDT。我把它设置得很好,这样Cygwin安装中的G++编译器就可以定位并编译我的代码,而无需ado 然而,有一点不满。每次G++报告警告或错误时,卷曲的单引号'和'分别显示为和™。这似乎是一个字符编码问题;G++或Cygwin正在抛出一种CDT或Eclipse都不喜欢的字符编码 ,但在Eclipse的首选项中设置C++环境变量 LANG >代码> C.UTF-8或代码> EnUUS。UTF-8/CODE >没有影响。 CyWin运行C+

最近,我从VisualStudio切换到EclipseCDT。我把它设置得很好,这样Cygwin安装中的G++编译器就可以定位并编译我的代码,而无需ado

然而,有一点不满。每次G++报告警告或错误时,卷曲的单引号
'
'
分别显示为
。这似乎是一个字符编码问题;G++或Cygwin正在抛出一种CDT或Eclipse都不喜欢的字符编码

,但在Eclipse的首选项中设置C++环境变量<代码> LANG <代码> >代码> C.UTF-8<代码>或代码> EnUUS。UTF-8/CODE >没有影响。

CyWin运行C++直接显示卷曲单引号。有没有办法完全禁用这些功能?是否有可以设置的环境变量或可以传递的参数

在图像中 Eclipse在不同的地方显示象形文字:

Cygwin显示正确的符号(忽略致命错误):


是的,你要么让Eclipse显示UTF-8,要么阻止Cygwin gcc使用它。我不知道如何做前者,但您可以通过确保gcc使用LANG=en_US.ISO-8859-1之类的东西运行来做后者。

这对我来说也很有效。需要在C/C++/Build/environment下的Eclipse首选项窗口中设置环境变量。您需要通过单击add按钮添加新变量。变量名应设置为LANG,值应设置为en_US.ISO-8859-1。有人知道问题的原因吗?Cygwin、Eclipse、gcc???

根据gcc 4.0发行说明:

英语诊断消息现在将在UTF-8语言环境中使用Unicode引号。(非英语消息已使用适用于早期版本中语言的引号。)如果您的终端不支持UTF-8,但您使用的是UTF-8语言环境(许多GNU/Linux系统上默认使用这种语言环境),则应在环境中设置
LC_CTYPE=C
,以禁用该语言环境。解析诊断并希望获得纯ASCII英语消息的程序应设置
LC_ALL=C
。有关更多信息,请参阅


在cygwin rxvt终端中使用gcc时,答案2最适合我

在my.bash_配置文件中添加:

#禁用gcc的unicode引号


导出LC_CTYPE=C

是的,就是这样!我在Eclipse首选项中添加了一个环境变量
LANG
,其值为
en_US.ISO-8859-1
,现在字符显示更清晰。请将此作为对ak2答案的注释。这样他就会知道你的反应。