Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème accent CSV / MYSQL

Pourtant le tout est bien en UTF8

Sujet résolu
17 octobre 2020 à 9:09:26

Bonjour,

Je ne comprends pas car j'exporte des données CSV, je les importe dans mysql et mes accents sont remplacés par des ? 

Je ne sais pas trop comment faire, vu que à priori le tout est bien en utf8 

  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2020 à 10:17:36

Salut

Comment importes-tu ces données dans MySQL ?

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 9:10:25

Bonjour,

Merci pour ta réponse.

Je les importes via un CSV. et aussi via un outil d'export import web. 

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 11:25:35

Des "?" ou des "�" ?

Avec quoi/comment ? Du code (PHP via pdo/mysqli) ? Par la commande LOAD DATA ?

Dans les deux cas, il faut les donner.

> vu que à priori le tout est bien en utf8

Ce serait un bon point de départ de s'assurer que le fichier exporté l'est.

-
Edité par julp 1 novembre 2020 à 11:29:21

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 12:10:42

Les accents sont remplacé par des ? OU alors ça coupe la phrase dans le cas du ç par exemple

En fait j'utilise un outil d'import export https://app.skyvia.com/

En gros, ça fait une requête pour prendre la data dans un CRM et je l'export vers ma BDD. 

Que je fasse ça ou que j'importe via un CSV le problème est le même, et voici la capture da configuration.

C'est vraiment embêtant mon histoire. 

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 14:11:08

Ton "logiciel" ne fait que l'export ?

Si oui, comment fais-tu l'import ?

As-tu vérifié que le fichier exporté était bien encodé en UTF-8 ? Ce n'est pas pour le temps que ça prend et c'est tout de même mieux de chercher le problème au bon endroit : si c'est l'export qui est foireux, inutile de le chercher dans la partie d'import. (a priori, vu le second screen, le logiciel en question devrait s'en occuper mais on a déjà vu des trucs mal foutus et le problème pourrait encore être que les données en base sont tout simplement mal encodées au départ)

-
Edité par julp 2 novembre 2020 à 2:32:39

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 20:24:53

Le logiciel fait l’import aussi, il va piocher les données dans un Saas.

le truc est que avant ça marchait bien et c’est arrivé en changeant de bdd donc je doute que le souci soit le logiciel :(

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:05:16

S'il ne fait pas correctement le SET NAMES (ou plutôt équivalent), c'est normal.

Avez-vous mis à jour MySQL ou changé de serveur ? Qui aurait alors une configuration par défaut différente sur tout ce qui est jeu de caractères.

-
Edité par julp 1 novembre 2020 à 21:05:29

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:10:59

Je n'utilise plus Mysql mais Workbench. Et ce n'est plus chez OVH mais chez AMAZON. 

Mais si on voit UTF8 dans les paramètres par default cela ne veut pas dire que ça stock en utf8 ? 

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:24:11

Le fait que la colonne de la base de données soit dans un jeu ou l'autre n'influe pas sur le jeu de caractères de la source ni de la connexion. Il faut donc spécifier utf8mb4 lors de la connexion au serveur SQL.

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:29:38

Je viens de cocher unicode dans l'outil dans l'espace connexion bdd. Penses-tu que ça peut être ça ? 

Je teste un import pour voir. 

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:39:04

Au temps pour moi, j'ai été un peu vite, je précise : Il faut spécifier le jeu de caractères utilisé par la source lors de la connexion.

  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:49:01

Qu'appelles-tu jeu de caractère car regarde ce que j'ai, je ne peux pas spécifier UTF8. 
  • Partager sur Facebook
  • Partager sur Twitter
1 novembre 2020 à 21:59:30

Si ton fichier CSV n'est pas en UTF-8 et que le jeu de caractères du fichier ne coïncide pas avec le jeu de caractères quand Unicode (qui est un abus de langage courant pour dire UTF-8) n'est pas coché, tu risques d'avoir des soucis avec les données texte.

Tu ne nous as toujours pas dit si le fichier source était bien en UTF-8, ce qui reste un point crucial.

  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2020 à 10:24:45

C'est dans mysql que les accents sont remplacés ou sur le rendu du navigateur ?
  • Partager sur Facebook
  • Partager sur Twitter
2 novembre 2020 à 11:15:05

En fait grâce à tes conseils tout est ok :)

J'ai coché unicode et maintenant les accents passent. 

Merci 1000 fois !

  • Partager sur Facebook
  • Partager sur Twitter