mysql, fichier csv et accents

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par chocho, 20 Septembre 2006.

  1. chocho
    chocho Nouveau WRInaute
    Inscrit:
    10 Mai 2005
    Messages:
    39
    J'aime reçus:
    0
    Bonjour,

    Petit problème sur lequel je sèche après l'avoir trituré dans tous les sens, à propos de la conservation des caractères accentués lors de l'enregistrement d'un fichier csv en vue de son exportation dans mysql.

    Le problème:
    - j'utilise phpmyadmin (2.6.1) en local pour tests avant upload sur mon serveur
    - mes données sont dans des bases excel (.xls)
    - je convertis les fichiers .xls en fichiers .csv, au moyen de la commande de excel "enregistrer sous... csv)
    - puis j'importe à partir de l'interface phpmyadmin (importer à partir d'un fichier texte)
    - aucun problème pour l'import (sauf des lignes vides que je dois supprimer manuellement une fois la table de mysql mise à jour)

    - seulement voilà, lors de la conversion xls => csv, tous les caractères accentués sont supprimés (é, è, à, ö, etc...) et les mots qui comprennent ces caractères sont coupés nets lors de la conversion :(

    Quelqu'un aurait-il une astuce pour permettre une conversion intégrale de .xls vers .csv qui respecte les caractères accentués? :?:

    Merci à vous,
    cordialement
     
  2. Kaliiii
    Kaliiii WRInaute occasionnel
    Inscrit:
    2 Mars 2005
    Messages:
    459
    J'aime reçus:
    0
    Bonjour, pour traiter des fichiers autres que Mysql il faut utiliser un script php qui fasse une boucle sur les enregistrements. Généralement, un simple stripslashes suffit a regler le probleme. voir le manuel php pour le traitement des textes en html.
     
  3. chocho
    chocho Nouveau WRInaute
    Inscrit:
    10 Mai 2005
    Messages:
    39
    J'aime reçus:
    0
    merci kaliii,

    mais je trouvais bien simple la fonction d'importation et d'exportation de phpmyadmin, tant pour les tables .sql que pour les fichiers .csv.

    En fait j'ai résolu le problème (en local du moins), en configurant l'encodage à latin1_general_ci et en faisant très attention lors de la conversion faite par excel du fichier .xls au fichier .csv.
    Et ça fonctionne correctement.

    maintenant, j'ai un nouveau problème, toujours d'importation, mais cette fois-ci lorsque je veux importer une table .sql ou un fichier .csv à partir du phpmyadmin du serveur distant.

    En local, je travaille avec easyphp 1.8 (phpmyadmin 2.6.1 et mysql 4.1.9). Sur le serveur distant de mon site, il y a : phpmyadmin 2.7.0-pl2 et mysql 4.1.20.
    En local donc, plus aucun problème pour importer une base sql ou un fichier csv.

    Mais si je tente d'importer la même base avec le phpmyadmin du serveur, le message d'erreur "impossible de lire le fichier" m'est renvoyé. Idem pour un fichier csv.

    sur le serveur distant, l'encodage de mysql est utf-8. j'ai bien essayé d'aligner l'encodage avec mon mysql local, mais rien n'y fait. Refus d'importation.

    Merci de m'apporter vos lumières de pratiquants avertis des SGDB, pour réussir cette satanée importation! :wink:

    cordialement
     
  4. rog
    rog WRInaute passionné
    Inscrit:
    21 Septembre 2006
    Messages:
    1 346
    J'aime reçus:
    0
    lol

    bah déjà faudrait utiliser le même encodage sur les serveurs mysql

    ensuite tu peux aller le client mysql chez mysql.com

    si tu as un acces ssh sur le server distant tu peux aussi copier la base dans /var/lib/mysql
    mais pour moi la solution la plus robuste c'est de passer en local par acces et injecter tes tables par liaison odbc

    rog
     
  5. Kaliiii
    Kaliiii WRInaute occasionnel
    Inscrit:
    2 Mars 2005
    Messages:
    459
    J'aime reçus:
    0
    Autrement, si tu as acces a SSH, la fonction cat fichier.sql | mysqld login pass est bien utile aussi. faut chercher sur le net la synthaxe exacte
     
  6. Kaliiii
    Kaliiii WRInaute occasionnel
    Inscrit:
    2 Mars 2005
    Messages:
    459
    J'aime reçus:
    0
    euh quoi que avec easyphp tu dois etre sous windows non ?
     
  7. chocho
    chocho Nouveau WRInaute
    Inscrit:
    10 Mai 2005
    Messages:
    39
    J'aime reçus:
    0
    bonjour,
    merci rog
    - j'avais utilisé le même encodage, mais sans résultats
    - la liaison odbc est séduisante, mais j'ai déjà passé 2 jours sur ce satané problème, or cette liaison me paraît assez sophistiquée à établir, et tant qu'on configure... on ne produit rien!

    - finalement,
    => je prends mes précautions lors de la conversion .xls ==>.csv,
    => j'aligne l'encodage en utf8_general_ci en local et sur le serveur distant
    => je contourne le module d'importation sql en saisissant (copiant/collant) la requête directement dans mysql sur le serveur distant
    ... et ça marche :!:
    Et pour les gros fichiers, le plus simple est d'utiliser la commande LOAD DATA INFILE de mysql

    Simple, mais une fois qu'on sait le faire :!:

    merci à vous
     
  8. chocho
    chocho Nouveau WRInaute
    Inscrit:
    10 Mai 2005
    Messages:
    39
    J'aime reçus:
    0
    et bien sûr merci à kaliii dont je découvre à l'instant les derniers posts :wink:
     
Chargement...
Similar Threads - mysql fichier csv Forum Date
importer un fichier excel et enregistrer son contenu dans ma base de données mysql Développement d'un site Web ou d'une appli mobile 15 Mars 2015
Probleme avec Script PHP pour remplir mysql avec un fichier Excel Développement d'un site Web ou d'une appli mobile 13 Février 2013
[Résolu] Fichier config MySQL sous PLESK chez OVH Développement d'un site Web ou d'une appli mobile 28 Décembre 2009
Lier facilement un fichier local type Excel et une base mysql Développement d'un site Web ou d'une appli mobile 11 Août 2009
Transferrer des données d'un fichier .db sur mon ordi a mysql sur mon serveur Développement d'un site Web ou d'une appli mobile 7 Juillet 2009
Cherche un outil d'import de fichiers HTML vers MySQL/EXCEL Développement d'un site Web ou d'une appli mobile 13 Janvier 2009
A quoi sert les fichiers temporaires de mysql ? Développement d'un site Web ou d'une appli mobile 9 Mars 2008
Sauvegarde mysql, fichier compressé ? Administration d'un site Web 4 Mai 2007
MySQL -> fichier Excel Développement d'un site Web ou d'une appli mobile 16 Août 2006
remplir une table MySQL depuis un fichier Excel Développement d'un site Web ou d'une appli mobile 22 Novembre 2005
convertir un fichier excel vers base de donnée mysql Développement d'un site Web ou d'une appli mobile 19 Septembre 2005
Importer des données d'un fichier xml dans une BDD MySQL ? Administration d'un site Web 27 Février 2005
Mysql : Impact convertion champ numérique SMALLINT vers BIGINT Développement d'un site Web ou d'une appli mobile 23 Août 2021
Quel SGBDR autre que MySQL/MariaDB ? Administration d'un site Web 12 Janvier 2021
encodage texte sur requete mysql Demandes d'avis et de conseils sur vos sites 21 Octobre 2020
Requête MySql imbriquée Développement d'un site Web ou d'une appli mobile 8 Octobre 2020
Supprimer les doublons d'une table mysql Développement d'un site Web ou d'une appli mobile 16 Juin 2020
Mysql migration utf8->utf8mb4 Développement d'un site Web ou d'une appli mobile 17 Août 2019
recherche lettres dans mysql Développement d'un site Web ou d'une appli mobile 11 Juillet 2019
cache mysql maison Développement d'un site Web ou d'une appli mobile 18 Février 2019