python - How to deal with character with accents in Pymongo -


i processing database contains spanish characters á, é, í, ñ, etc... importing them worked fine, , using command line shows characters correctly encoded in database:

> use climaescolar switched db climaescolar > db.preguntas.findone() {         "_id" : objectid("55a912e69b874f7cc9afa322"),         "indice" : "a-1",         "pregunta" : "eres:",         "tipologia" : "Única respuesta",         "respuestas posibles" : 2,         "respuestas maximas" : 1,         "respuesta" : "1.hombre-2.mujer",         "adicionales" : "95.respuesta anulada-96.no responde-97.marca más de una respuesta-98.opciones incompatibles/incompletas-99.en blanco" } 

(note "Ú" , "á" displayed correctly)

however, when process answers using pymongo, characters appear in unicode format:

from pymongo import mongoclient  client = mongoclient("127.0.0.1", 27017) db = client["climaescolar"] col = db.preguntas print(col.find_one()) 

returns:

{u'respuesta': u'1.hombre-2.mujer', u'respuestas posibles': 2, u'pregunta': u'eres:', u'respuestas maximas': 1, u'tipologia': u'\xdanica respuesta', u'\ufeffindice': u'a-1', u'adicionales': u'95.respuesta anulada-96.no responde-97.marca m\xe1s de una respuesta-98.opciones incompatibles/incompletas-99.en blanco', u'_id': objectid('55a912e69b874f7cc9afa322')} 

(note "Única respuesta" appears "\xdanica respuesta" )

i read note on unicode format strings in docs, have not been able solve it. suggestions?

i think feature of print function, not pymongo.

if run following:

from pymongo import mongoclient  client = mongoclient("127.0.0.1", 27017) db = client["climaescolar"] col = db.preguntas key, value in col.find_one().iteritems():     print(u'{0}: {1}'.format(key, value)) 

you get

indice:a-1 respuesta:1.hombre-2.mujer respuestas posibles:2.0 pregunta:eres: respuestas maximas:1.0 tipologia:Única respuesta adicionales:95.respuesta anulada-96.no responde-97.marca más de una respuesta-98.opciones incompatibles/incompletas-99.en blanco _id:55a9272ef7ba789df8b5c858 

Comments