Contenu | Rechercher | Menus

Annonce

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 08/04/2008, à 14:05

GISLynx

Probléme d'encodage wget et html

Bonjour,

Bon je vais être très clair mais pas très bref parce qu'il y a longtemps que je cherche la solution à un problème d'encodage.
Je commence:
1) Je travail sur une application dont l'objectif de la tâche courante est :"L'insertion des tableaux de données en provenance d'un site web (HTML) dans une base de données MySQL".
=> Pour les curieux : j'ai un script (cron avec wget) qui permet le téléchargement journalier d'une page HTML contenant des données dans un tableau, parser le code HTML et convertir les tableaux de données en des fichiers CSV.

L'autre script en php doit permettre l'insertion de ces données en provenance des fichier CSV dans une base de données MySQL.

Jusqu'à la tout est bon, cependant le fichier CSV contient des caractères accentués des apostrophes ce qui pose un problème lors des manipulation des ces données avec les requêtes SQL.

Merci en espérant avoir la bonne solution wink

Hors ligne

#2 Le 09/04/2008, à 10:44

johnlege

Re : Probléme d'encodage wget et html

Bonjour,
si ton problème est le manque de double quote pour une insertion dans la requête sql, tu peux au niveau du script lors de la conversation en CSV, rajouter une instruction avec sed (éditeur de texte) qui te rajouterait les quotes manquantes. Par exemple

sed 's!"!""!g;s!'!''!g' fichier_entrant > fichier_sortant

te doublerait les double quote et simple quote afin de les passer à la requéte SQL, mes souvenirs SQL d'ailleurs pencheraient plutôt pour tripler les doubles ou simples quotes.
si ton problème est aussi un problème de conversion d'accent soit tu utilises sed afin de changer tous les accents, un peu lourd à mon gout soit tu utilises iconv afin de iconv convertir l'encodage de fichiers donnés à partir d'un encodage vers un autre. Par exemple  iconv -f ISO8859-1 -t IBM-850 à adapter en fonction de tes besoins


Merci d'indiquer résolu dans le titre quand c'est résolu

Hors ligne