(re) Bonjour
J'ai un soucis d'encodage, voici les étapes qui m'y amènent :
- Réception d'une base de données XLS d'un client
- Reformatage en fichier CSV avec notepad en UTF-8 (fichier->enreigstrez-sous)
- Script PHP d'intégration en base de données qui parcourt le fichier CSV (script PHP encodé en UTF-8 de même que la base de données qui est en UNICODE sous postgresql)
- Les lignes du fichier CSV sont associées à un numéro de département. J'ai intégré les départements français dans une table avec deux colonnes :dep_id (identifiant au format "Text" -pour être tranquille-) et dep_lib (libellé).
- En parcourant le fichier CSV, je vérifie que le numéro de département de chaque ligne correspond bien à un département français enregistré dans la table des département, je fais une requête SQL:
- Exemple parfait ici car c'est l'unique requête SQL qui ne me renvoie aucun résultat . SEUL l'identifiant "1" (département de l'AIN) pourtant enregistré dans la table n'est pas correctement traité par le moteur.
Pourquoi?
Parceque j'ai repéré (pour toutes les lignes ayant le département "1" !!! Etrange quand même...) qu'il y avait un BOM juste avant le chiffre à savoir :
J'ai pu récupérer ce caractère en ayant fait un copier du chiffre "1" à l'écran après avoir afficher le contenu de ma table des départements puis un coller dans un forum en l'ayant encadrer par des balises propres pour l'affichage du code. Quand j'ai vu ce caractère (que je ne voyais nulle part ailleurs) j'en ai déduis que c'était le problème.
Et maintenant....
Comment supprimer ce BOM sachant que j'ai essayé:
- De réécrire le chiffre "1" complètement avec les caractères qui y étaient attachés.
- d'enregistrer le fichier en ANSI (sans bom) mais niet...marche pô
Merci de m'éclairer
Modifié par speedev (29 Oct 2007 - 14:14)
J'ai un soucis d'encodage, voici les étapes qui m'y amènent :
- Réception d'une base de données XLS d'un client
- Reformatage en fichier CSV avec notepad en UTF-8 (fichier->enreigstrez-sous)
- Script PHP d'intégration en base de données qui parcourt le fichier CSV (script PHP encodé en UTF-8 de même que la base de données qui est en UNICODE sous postgresql)
- Les lignes du fichier CSV sont associées à un numéro de département. J'ai intégré les départements français dans une table avec deux colonnes :dep_id (identifiant au format "Text" -pour être tranquille-) et dep_lib (libellé).
- En parcourant le fichier CSV, je vérifie que le numéro de département de chaque ligne correspond bien à un département français enregistré dans la table des département, je fais une requête SQL:
SELECT count(*) as nb_dep FROM departement WHERE dep_id='1';
- Exemple parfait ici car c'est l'unique requête SQL qui ne me renvoie aucun résultat . SEUL l'identifiant "1" (département de l'AIN) pourtant enregistré dans la table n'est pas correctement traité par le moteur.
Pourquoi?
Parceque j'ai repéré (pour toutes les lignes ayant le département "1" !!! Etrange quand même...) qu'il y avait un BOM juste avant le chiffre à savoir :

J'ai pu récupérer ce caractère en ayant fait un copier du chiffre "1" à l'écran après avoir afficher le contenu de ma table des départements puis un coller dans un forum en l'ayant encadrer par des balises propres pour l'affichage du code. Quand j'ai vu ce caractère (que je ne voyais nulle part ailleurs) j'en ai déduis que c'était le problème.
Et maintenant....
Comment supprimer ce BOM sachant que j'ai essayé:
- De réécrire le chiffre "1" complètement avec les caractères qui y étaient attachés.
- d'enregistrer le fichier en ANSI (sans bom) mais niet...marche pô
Merci de m'éclairer
Modifié par speedev (29 Oct 2007 - 14:14)