过去几年,有些 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)
注意Â
到处都是字符。为什么这种情况在某些环境中会发生,而在其他环境中不会发生?我该怎么做才能纠正这个问题?
答案1
要么使用能够理解 UTF-8 的终端程序,要么通过 告诉你的 shell 不要使用 UTF-8 $LANG
。
>>> print u'°'.encode('utf-8').decode('latin-1')
°
答案2
您应该将您的语言环境设置为 C:
export LC_ALL=C