Sto lavorando su un grande strumento a linea di comando, scritto per Python 2.6+ e supportato per Windows, OS X e Linux. Gli utenti target sono sviluppatori ma vengono anche richiamati automaticamente dai sistemi CI, ecc. Nell'ambiente Windows, il nostro strumento gira in cmd.exe, ma negli altri SO consentiamo qualsiasi terminale gli utenti abbiano.
Mi piacerebbe molto aggiungere un supporto unicode generale a questo strumento, in particolare per stampare caratteri non ASCII sul terminale. Python è in generale piuttosto carino con unicode, ma cmd.exe non gioca bene con i miei piccoli test a causa di qualche problema con la codifica. Probabilmente posso "farlo funzionare" su Windows in qualche modo, ma altri problemi di codifica possono verificarsi in altri terminali? I "terminali più moderni" usano utf-8 su GNU / Linux e OS X (o dipendono dalle impostazioni locali?). Inoltre, se si verifica una mancata corrispondenza della codifica, "la maggior parte dei terminali" emette solo caratteri confusi, o arresteranno effettivamente? È in generale possibile determinare in modo affidabile la codifica utilizzata dal terminale?
Cerca principalmente persone che hanno tentato di implementare strumenti da riga di comando multipiattaforma con supporto Unicode. Il mio obiettivo con questa domanda è determinare se posso implementare il supporto Unicode con uno sforzo minimo o moderato che funziona per la stragrande maggioranza dei nostri utenti.