python3 stampa unicode alla codifica console windows xp cp437

Ok, voglio stampare una stringa nella mia console windows xp. Ci sono diversi caratteri che la console non può stampare, quindi devo codificare il mio stdout.encoding che è ‘cp437’. ma stampando la stringa codificata, il ‘ß’ viene stampato come ‘\ xe1’. dopo aver decodificato di nuovo in unicode e aver stampato la stringa, ottengo l’output che voglio. ma questo sembra un po ‘sbagliato. come è il modo corretto di stampare una stringa e ottenere? per caratteri non stampabili?

>>>var 'Bla \u2013 großes' >>>print(var) UnicodeEncodeError: 'charmap' codec can't encode character '\u2013' >>>var.encode('cp437', 'replace') b'Bla ? gro\xe1es' >>>print(var.encode('cp437', 'replace')) b'Bla ? gro\xe1es' >>>var.encode('cp437', 'replace').decode('cp437') 'Bla ? großes' >>>print(var.encode('cp437', 'replace').decode('cp437')) Bla ? großes 

modifica: @Mark Ransom: poiché stampo molto questo rende il codice piuttosto gonfio, mi sento: /

@eryksun: esattamente quello che stavo cercando. molte grazie!