在过去的几年中,有一些Linux系统在运行各种命令时会输出奇怪的字符。 以下是其中一台机器上sensors命令的输出示例:
acpitz-virtual-0 Adapter: Virtual device temp1: +45.5°C (crit = +126.0°C) coretemp-isa-0000 Adapter: ISA adapter Core 0: +44.0°C (high = +100.0°C, crit = +100.0°C) Core 1: +45.0°C (high = +100.0°C, crit = +100.0°C) nouveau-pci-0100 Adapter: PCI adapter temp1: -62.0°C (high = +95.0°C, crit = +99.0°C)
注意到所有地方的字符。 为什么在一些环境中发生这种情况而不是其他情况 我能做些什么来纠正这个问题?
要么使用理解UTF-8的terminal程序,要么通过$LANG告诉你的shell不使用UTF-8。
>>> print u'°'.encode('utf-8').decode('latin-1') °
您应该将您的区域设置为C:
export LC_ALL=C