Назад | Перейти на главную страницу

Странные символы из вывода в оболочке

За последние несколько лет были некоторые системы 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, либо скажите своей оболочке не использовать UTF-8 через $LANG.

>>> print u'°'.encode('utf-8').decode('latin-1')
°

Вы должны установить свой языковой стандарт на C:

export LC_ALL=C