Mar*_*urg 2 debian gcc unicode console
升级到 debian wheezy 后,我的文本控制台在应该有引号的地方显示问号
在XI下正确看待事物
window.cpp:1056:21: error: base operand of ‘->’ is not a pointer
Run Code Online (Sandbox Code Playgroud)
但控制台显示
window.cpp:1056:21: error: base operand of ?->? is not a pointer
Run Code Online (Sandbox Code Playgroud)
如果我从该文件中删除除引号之外的所有内容并将 xy 放在它周围(以便更容易地发现它),那么 emacs hexl-mode 会告诉我这是这个字符
00000000: 78e2 8098 790a x...y.
Run Code Online (Sandbox Code Playgroud)
我理解 78 (x)、79(y) 和 0a (LF),但我很难相信像引号这样简单的东西需要三个 unicode 字节。
我也试过
dpkg-reconfigure console-setup
Run Code Online (Sandbox Code Playgroud)
并设法产生更多不可读的字符,但未能正确看到引号。我可以输入单引号没问题,联机帮助页和一切看起来都不错,所以我不知道应该归咎于 gcc 还是控制台。
花哨的引号字符 ‘’
是 Unicode 字符 U+2018 和 U+2019(每个字符一个 Unicode 字符)。它们的 UTF-8 编码是一个 3 字节的序列,分别是 e2 80 98 和 e2 80 99。我不知道为什么你很难相信这一点。
显然,您的环境指示 UTF-8 语言环境。运行locale
显示相关环境变量。您的控制台似乎设置为显示 UTF-8,但字体不包含字符‘
,’
因此您看到的是?
。
如果您切换到非 UTF-8 语言环境,gcc 将使用 ASCII 引号 ( `->'
)。
归档时间: |
|
查看次数: |
473 次 |
最近记录: |