Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/05/2018, à 15:29

Quentin-Gu

Python, MySql et encodage

Bonjour,

J'utilise python3 pour écrire un petit programme qui doit gérer un fichier d'entrée, gérer une base de données et générer des PDF avec latex en fonction de tout ça.
Je le savais avant mais c'est quand même vérifié, python3 utilise bien utf8 comme encodage par défaut, mes fichier .py sont bien en utf8. Le fichier d'entrée est lui aussi en utf8.
J'ai besoin d'insérer des choses dans ma base de données MySQL. Au début tout l'encodage de la base était en latin1_general_ci puis j'ai tout passé en utf8_general_ci pour avoir l'affichage correct des accents. Cependant rien à faire ça ne s'affiche pas correctement dans phpmyadmin si j'ai envie de voir la base de données, même chose en ligne de commande en passant directement par mysql. Je sais plus vraiment quoi faire maintenant. Quelqu'un a une idée de ce qui se passe ?

Merci beaucoup à ceux qui prendrons la peine de lire ce message.

Hors ligne

#2 Le 12/05/2018, à 16:35

bipede

Re : Python, MySql et encodage

Je n'utilise pas MySQL donc je ne connais pas bien sa façon de stocker les chaînes de caractères...
Ne dois-tu pas encoder la chaîne avant de l'intégrer dans ta base de données ?

>>> chaine = "Chaîne de caractères accentués"
>>> binaire = chaine.encode()
>>> binaire.decode()
'Chaîne de caractères accentués'
>>> 

Desktop: MSI - Intel® Core™ i5-3330 CPU @ 3.00GHz × 4 - RAM 8 go- Ubuntu 18.04 - Système sur SSD 64 Go - /home sur HDD 500 Go.
Laptop: DELL Inspiron-15 3567 - Intel® Core™ i5-7200 CPU @ 2.50GHz × 4 - RAM 8 go - HDD 1 To - Ubuntu 18.04 avec /home séparé.

Mon site: Les contributions du bipède

En ligne

#3 Le 13/05/2018, à 22:37

Quentin-Gu

Re : Python, MySql et encodage

Non j'ai pas besoin de ça normalement. Certes quand je les récupère, j'ai souvent des binaire. Dans ce cas il faut effectivement les décoder.
Je crois avoir trouvé une solution. Il faut je drois forcer un peu MySql. Du coup je commence par une requête "SET NAMES UTF8". Pour le moment, tous a l'air de fonctionner.
En tout cas je n'ai jamais encodé avant d'insérer dans une base de données. Avec PHP j'avais pas ce problème, tout venait de l'encodage du .php mais sinon avec Python, je sais pas où les problème d'encodage surviennent.

Hors ligne

#4 Le 13/05/2018, à 22:55

grigouille

Re : Python, MySql et encodage

Il faudrait que tu nous donnes des exemples de ce que tu fais exactement (commandes + retour)


Xubuntu 18.04

Hors ligne