Table des matières

Respect des encodages et des types de données

Respect des encodages

Le principe est simple: SQlite3 ne connait que 2 encodages: unicode et utf-8.

Rappel: l'encodage 'utf-8' est aussi un 'unicode', mais Python ne le reconnait que comme un type 'str' et pas un type 'unicode'!

Dans le code Python, tout se passera selon que la ligne suivante existera ou non à la suite de la ligne d'établissement de la connexion:

cnx.text_factory = str

Sans cette ligne pour les chaines de caractères:

Avec cette ligne pour les chaines de caractères:

Respect des types de données

En principe, quand on lit un enregistrement, on récupère les données avec le bon type Python (str ou unicode, int, float, etc…) selon ce qui a été déclaré par le script SQL à la création de la table (TEXT, INTEGER, FLOAT, etc…).

Vis à vis, par exemple, des types SQL: INTEGER, SQlite3 a un comportement curieux dont il faut tenir compte:


Amusez-vous bien!