Chi ha realizzato il db al quale devo accedere ha avuto la brillante idea di usare dei caratteri accentati (Es: "id_attività") nei nomi delle tabelle e nei nomi dei campi, cosa che mi ha costretto, per non so quale questione di encoding, a creare delle viste con i nomi ascii, risolvendo temporaneamente il problema.
Immolate lui come porcello perchè è un abominio :-)
Ho avuto l'accortezza (spero di aver fatto bene) di mettere in testa la stringa: -*- coding: latin-1 -*-
Questo ha poco a che vedere. Serve per i commenti e gli identificatori. Insomma serve per poter "digitare" caratteri in Latin-1 nel file .py. Ciò che tu stai facendo è passare al server una stringa con un encoding che lui non sa. Non esiste stringa senza encoding. Questo è un concetto fondamentale da capire. Se vuoi approfondire: http://www.joelonsoftware.com/articles/Unicode.html e http://www.jorendorff.com/articles/unicode/
Quindi ho proceduto con una query del tipo: server.query("select id_attività from prodotti") L'errore fornito da python è una cosa del tipo: pymssql.DatabaseError: internal error: SQL Server message 207, severity 16, stat e 3, line 1: Il nome di colonna 'id_attivitÓ' non è valido.
Questo perchè necessitiamo di una informazione fondamentale: - in quale encoding è il database? Una volta scoperto questo devi fare in modo di codificare tutte le stringhe secondo il set di caratteri corretto. Vedrai che cosi si risolverà il problema -- Lawrence http://www.oluyede.org/blog
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python