2

我写了一个 c++ 程序,当我在 ansi-term 中使用 g++ 编译它时,显示了一些奇怪的字符:

在此处输入图像描述

如果需要,错误是我没有声明变量 n。我该如何纠正?

4

3 回答 3

4

啊! 测试了这个...

 (setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8-unix)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)

问题解决了!!!

于 2013-01-17T08:12:11.800 回答
3

看起来gcc输出包含 UTF-8“智能引号”,并且您的终端未设置为显示 UTF-8。简单的解决方法是locale在 Emacs 中使用不支持智能引号的 a,它应该强制gcc回退到纯简 ASCII 引号;更复杂的修复方法是修复 Ansi-Term 缓冲区中的终端模式以正确显示这些。

于 2013-01-17T07:49:08.530 回答
1

这些很可能是颜色转义序列。emacs 有一种模式,您可以使用该ansi-color-for-comint-mode-on功能启用该模式。

于 2013-01-16T17:51:28.067 回答