奇怪的符号总是出现在命令行(putty / zsh)

我有这个问题一段时间,我希望这是一个非常简单的修复:

在不同的地方,我会看到命令行中出现的怪异符号。 如'â。 它似乎正在取代一些其他的字符..? 例如,当我这样做

prompt -p 

我会得到很多'符号。 如:

 fade theme with parameters `white grey blue': ââââuser@hostââââ Sun Sep 05 05:57:20pm _cwd}~/ command arg1 arg2 ... argn 

用户和主机取代了我的实际用户/主机,但一切看起来完全一样。

我还在g ++编译器消息中看到了这些符号,比如:

 test.cpp: In function âint main()â: test.cpp:6: warning: unused variable âxâ 

怎么回事,我该怎么办才能解决这个问题? 我使用的shell是zsh(但是我也看到了bash中的符号)。 我正在使用Ubuntu和腻子。 谢谢!

您的PuTTY字符集和您的terminal字符集不匹配。 使用echo "$LANG"并看看应该是什么时期,并将其设置在PuTTY中。

您的terminal正在输出使用UTF-8编码的字符,但PuTTY正在解释在另一个字符集(可能是ISO-8859-1)中看到的字节。

您可以通过更改“Window \ Translation”下的“假定接收的数据位于哪个字符集”选项来更改PuTTY以使用UTF-8: