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
_______________________________________________
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python

Rispondere a