[Python] python 3 cgi e lettere accentate

Gianluca Esposito giaespo a gmail.com
Lun 29 Lug 2013 10:52:58 CEST


salve a tutti,
ho un problemino con le lettere accentate in una applicazione cgi dal quale
non riesco ad uscire.
Questo è il mio banalissimo codice che non funziona!

#!/usr/bin/python
# -*- coding: utf-8 -*-
s="<html><body><h1>àèìòù</h1></body></html>"


print("Content-Type: text/html;charset=UTF-8")
print('\n')
print(s)

Nell'error.log di apache ho questo errore:
UnicodeEncodeError: 'ascii' codec can't encode characters in position
16-20: ordinal not in range(128)

Ovviamente tutto funziona se metto dei caratteri ascii al posto delle
lettere accentate

La domanda è, se setto il coding del file e il charset http in utf-8 e le
stringhe in python3 sono in unicode, questo ascii codec da dove viene
fuori? c'è qualche modo (immagino semplice, data la mia ignoranza su
unicode e gli encoding in generale) per ovviare a questo e visualizzare
correttamente le lettere accentate e gli altri caratteri non in range(128)?

grazie a tutti,

Gianluca Esposito
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130729/575675a3/attachment.html>


Maggiori informazioni sulla lista Python