[Python] Curiosa interpretazione dell'encoding nelle stringhe
di mssql
Manlio Perillo
manlio_perillo a libero.it
Ven 1 Set 2006 11:27:13 CEST
Lawrence Oluyede ha scritto:
> [...]
>
>> 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.
Ma serve anche per far sapere all'interprete come trasformare gli
unicode literal, o sbaglio?
> [...]
>> 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.
>
Il problema č che alla Microsoft hanno pensato bene di usare un encoding
diverso per la riga di comando.
L'encoding di sistema č cp1252, quello usato dalla riga di comando č cp850.
Per risolvere basta che esegui il comando
chcp 1252.
> Questo perchč necessitiamo di una informazione fondamentale:
>
> - in quale encoding č il database?
>
E lo chiedi pure?
Sarā cp1252. ;-)
(largamente compatibile con latin1, a parte la presenza del carattere
per l'euro e qualche altro paio di differenze)
Saluti Manlio Perillo
Maggiori informazioni sulla lista
Python