Странные символы в ansi-term в emacs

Я написал программу на С ++, и когда я скомпилировал ее, используя g++ в терминах, я получил несколько странных символов:

При необходимости ошибка заключалась в том, что я не объявил переменную n. Как я могу это исправить?

3 ответа

Решение

Ах! Проверял это...

 (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)

и проблема решена!!!

Выглядит как gcc вывод содержит "умные кавычки" UTF-8, и ваш терминал не настроен на отображение UTF-8. Простой обходной путь заключается в использовании locale который не поддерживает умные кавычки внутри Emacs, который должен заставить gcc вернуться к обычным кавычкам ASCII; более сложное исправление - исправление режима терминала в буфере Ansi-Term для правильного их отображения.

Это наиболее вероятные последовательности выхода цвета. В Emacs есть режим, который вы можете включить с помощью ansi-color-for-comint-mode-on функция.

Другие вопросы по тегам