Import .csv choix jeu de caractères

Import .csv choix jeu de caractères - SQL/NoSQL - Programmation

Marsh Posté le 08-04-2014 à 18:49:51    

Bonjour,
 
Il s'agit d'une table à l'origine créée depuis Ms Office.
Cette table contient entre autre :

Citation :

10;Chronicle;samedi 3 mars 2012
11;38 Témoins;mercredi 14 mars 2012
12;Grotte Des Rêves;samedi 17 mars 2012


L'export se fait en .csv (solution la plus simple trouvée).
L'import se fait via phpMyAdmin avec pour jeu de caractères du fichier :  8859-1.
 
Malgré l'ajout de la ligne suivante, au moment de la connexion PDO :

Code :
  1. $bdd = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe, array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));


certaines erreurs persistes, exemple à partir des données fournies ci-dessus :

Citation :

10 Chronicle samedi 3 mars 2012  
11 38 Témoins mercredi 14 mars 2012  
12 Grotte Des Rêves samedi 17 mars 2012


 
Un encode/décodage différent qu'utilisé pourrait-il résoudre le problème ?
Question subsidiaire, une conversion des données dates telles qu'actuellement stockées en type DATE est-il envisageable avec PARSE ou CONVERT ?
 
Merci :)


Message édité par orang le 08-04-2014 à 18:55:21
Reply

Marsh Posté le 08-04-2014 à 18:49:51   

Reply

Marsh Posté le 10-04-2014 à 10:37:32    

Tu fais un import en 8859-1 et t'établis une connexion avec mysql en unicode.
 
Ne peux-tu pas tout faire en unicode pour éviter les problématique de conversion en convertissant le fichier en Unicode avec un éditeur (ex: notepad++)?

Message cité 1 fois
Message édité par xuan-khanh le 10-04-2014 à 10:38:11
Reply

Marsh Posté le 10-04-2014 à 19:49:00    

Merci xuan-khanh!

xuan-khanh a écrit :

Tu fais un import en 8859-1 et t'établis une connexion avec mysql en unicode.

Justement, cela ne donne rien.

xuan-khanh a écrit :

Ne peux-tu pas tout faire en unicode pour éviter les problématique de conversion en convertissant le fichier en Unicode avec un éditeur (ex: notepad++)?


Rien non plus.
 

Reply

Marsh Posté le 11-04-2014 à 10:08:04    

Hum, je suis pas expert en mysql mais je pense ta connexion ignore l'unicode.
 
Dans mes environnements, je fais toujours en sorte que mes fichiers soient déjà encodés en UTF8 et j'utilise cette chaine de connexion pour faire mon import
 

Code :
  1. mysql ${login} $(get_protocol) --silent --no-auto-rehash --default-character-set=utf8


 
Si ça peut t'aider ...

Reply

Marsh Posté le 11-04-2014 à 10:54:10    

Merci pour ce conseil de bonnes habitudes à prendre :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed