Isso não é um problema de codificação. O programa cuja saída você está capturando está emitindo códigos de controle ANSI para definir a posição do cursor, a cor do primeiro plano etc.
Quando você usa cat
, os códigos de controle são processados pelo tty e, portanto, não aparecem na forma bruta.