![奇怪的问题。在终端中按“]”键会出现“7”,按“7”会出现向下箭头](https://linux22.com/image/1059680/%E5%A5%87%E6%80%AA%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%8C%89%E2%80%9C%5D%E2%80%9D%E9%94%AE%E4%BC%9A%E5%87%BA%E7%8E%B0%E2%80%9C7%E2%80%9D%EF%BC%8C%E6%8C%89%E2%80%9C7%E2%80%9D%E4%BC%9A%E5%87%BA%E7%8E%B0%E5%90%91%E4%B8%8B%E7%AE%AD%E5%A4%B4.png)
所以当我在 Ubuntu 16.04 的终端中使用 vim 编写一些 C 代码时就发生了这种情况。
每次我尝试输入右括号时,终端窗口都会显示“7”。此外,按“7”键会输入向下箭头字符(我认为是 Unicode 字符)。
例子:
fprintf(stdout, "%s\n", argv[17);
奇怪的是,按下 Shift-] 会按预期显示“}”,而其他数字键会正确显示相应的数字。
我认为这是 vim 的问题,于是我尝试在 emacs 中打开该文件,看到了同样的情况。
当我尝试使用 gcc 编译文件时,编译器输出也出现了同样奇怪的编码问题。
我尝试通过 ssh 连接到远程服务器,但发生了同样的事情,所以我很确定问题出在我的终端显示字符的方式上。
发生了什么事?我该如何解决?
编辑:感谢使用命令的提示,问题已解决reset
。重启终端后,一切正常。我一直在处理二进制数据,这似乎是导致此问题的原因。
答案1
感谢用户 brndn2k 发布的链接,我得以解决这个问题。
我一直在处理二进制数据,这一定是罪魁祸首,正如链接中提到的那样。
使用该reset
命令并重新启动我的终端将使终端恢复正常字符编码。