Pages : 1
#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
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
Pages : 1