[Python] Problemi con print su python3.6

Riccardo Magliocchetti riccardo.magliocchetti a gmail.com
Gio 28 Set 2017 11:34:51 CEST


Il 28/09/2017 11:29, Massimiliano Rosi ha scritto:
> Buongiorno a tutta la lista,
> proprio per tranquillizzare ulteriormente Gollum1, posto la mia domanda in lista!
> 
> Ho un problema che sinceramente non capisco:
> - su un pc Ubuntu linux 17.04 con python 3.6 per stampare il simbolo ° da 
> console basta dare:
> 
>  >>> print ('\u00b0')
> °
> 
> invece su un pc embedded con busybox e python3.6 compilato dai sorgenti 
> perfettamente funzionante lo stesso comando genera un errore, che non capisco 
> come risolvere:
> 
>>>> print ('\u00b0') 
> 
> Traceback (most recent call last):
> 
> File "<stdin>", line 1, in <module>
> 
> UnicodeEncodeError: 'ascii' codec can't encode character '\xb0' in position 0: 
> ordinal not in range(128)
> 
> Ammetto che sembra una domanda stupida, ma googlando non ho trovato soluzioni o 
> consigli che mi abbiano messo sulla buona strada...

Sull'embedded non hai un locale che usa utf-8 come sul tuo desktop. Gli output 
di locale(1) dovrebbero dare risultati diversi.

$ LANG=C python3.6
Python 3.6.3rc1 (default, Sep 20 2017, 10:49:48)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
 >>> print ('\u00b0')
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character '\xb0' in position 0: 
ordinal not in range(128)
 >>>
$ python3.6
Python 3.6.3rc1 (default, Sep 20 2017, 10:49:48)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
 >>> print ('\u00b0')
°


-- 
Riccardo Magliocchetti
@rmistaken

http://menodizero.it


Maggiori informazioni sulla lista Python