venerdì 19 luglio 2013

Python, Unicode e Windows 7 & 8

 Come promesso in questo post ieri ho provato a vedere come si comporta Windows con i caratteri Unicode. Naturalmente sto parlando del Terminale, quello che per loro è il Prompt dei comandi, anche se adesso è conosciuto (molto poco in verità) con altri nomi.

Vengo subito alla conclusione: non è cambiato niente!
Ho (con l'aiuto di Alberto e Roberto (sì lì distribuiscono le persone negli uffici rispettando le rime)) ho rilanciato gli script del post precedente, con gli stessi risultati. Non credo sia necessario mettere tutti gli screenshots, basta un assaggino:


Niente da fare: il terminale non supporta l'Unicode. Ma c'è di peggio, per trovarlo con Windows 8 (nessuno di noi tre è un utente di questa versione) abbiamo dovuto sudare parecchio.
Il fatto è che gli utenti Windows sovente manco lo conoscono. Windows è in uso da sempre per loro, tranne casi particolari non hanno mai avuto a che fare con comandi DOS.
Inoltre, a differenza degli smanettoni di Linux, sono specializzati: conoscono pochi programmi, ci sono quelli che identificano il computer con AutoCAD, quelli di Word-Excel, quelli di PowerPoint e altre classi, anche più specializzate.
In particolare a me stupisce l'uso di Excel come database, con file enormi e collegamenti tra celle e fogli da paura, come si fa a controllare che siano tutti corretti? E dentro ci metti anche le immagini e poi non puoi trasferire il tuo file su un altro computer perché non vede i vari pezzi.
Ci sarebbero poi quelli che confondono Facebook con Internet (o con il computer) ma non sto parlando di loro.

Allora, domanda: come devo comportarmi con gli utenti Windows? Python (anche se parecchi non lo sanno) funziona benissimo con Windows e nel caso in esame era sufficiente aggiungere un istruzione, questa decode('utf8') che ho rintracciato sul Web con una semplice googlata.
Oggi la programmazione viene svolta con IDE che la rendono molto più semplice, pensate a Visual Studio o Delphi sempre per Windows, ma questo non vale per gli script di esempio che devono essere piccoli per renderne facile la comprensione.

Panico! Attendo suggerimenti.

2 commenti:

  1. Ciao,
    provate con queste istruzioni tratte dal manuale di psql (note per gli utenti Windows):
    1 Set the code page by entering cmd.exe /c chcp 1252. (1252 is a code page that is appropriate for German; replace it with your value.) If you are using Cygwin, you can put this command in /etc/profile.

    2 Set the console font to "Lucida Console", because the raster font does not work with the ANSI code page.
    Saluti.
    R.

    RispondiElimina
    Risposte
    1. Potrebbe essere un'idea (non ho Windows sottomano al momento) ma sarebbe comunque una soluzione da "utente esperto".

      Elimina