|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Bonjour,
J'ai une requête qui ne renvoie aucun résultat : Code :
SELECT dep_lib FROM departement WHERE dep_id='01' Code :
SELECT dep_id FROM departement WHERE dep_lib='Ain' Le département de l'Ain est donc enregistré en base avec l'identifiant "01" et la requête fonctionne pour tous les autres départements. Seul le "01" ou "1" ne renvoie rien. Avant mes premiers départements étaient 1,2,3 ... j'ai rajouté un "0" pour que tous les départements soient sur 2 caractères (soucis de propreté et d'affichage). Pour résumé, peu importe l'identifiant "1" ou "01" de type "character" ou "character varying" ou "text" sont non reconnus dans une requête. Surement une histoire d'octet mais je n'arrive pas à la résoudre. merci de vos lumières
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Pour info : PostgreSQL 7.4.9
Je suis chez un hébergeur pro, pas de migration possible de postgresql.
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 5 ![]() |
J'immagine que tu as déjà essayé de copier le résultat de la seconde requête et de l'utiliser comme paramètre de la première ? Je sais (par expérience) qu'il nous arrive souvent dans des moments de fatigue d'insérer des espaces ou autres caractères dans nos tables.
Salutations Oscar |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Oui je l'ai fais.
Aucun oubli... J'ai vu que lorsque les données sont trop petite, des espaces sont rajoutés par postgresql, mais ce n'est pas le cas ici. Ce maudit "01" n'est pas bien traité par postgresql
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
alors là je suis bluffé...
Tu as raison oscar, en copie-collant "01" dans la page de résultat et en remplaçant mon "01" par celui-ci, la requête fonctionne mais si je tape "01" avec mon clavier à la place du "01" copié-collé, ça ne fonctionne plus. Il n'y a aucun caractère ni espace supplémentaire que "0" et "1". J'en déduis un problème d'encodage....n'est-ce-pas? ...
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Fichier CSV intégré = UTF-8
Base = UTF-8 UNICODE Fichier PHP encodé en UTF-8 META NAME UTF-8 Je ne bosse qu'en UTF-8 à 100%... Je suis complètement paumé pour débugguer mon problème... Quelqu'un peut me guider ? Je rappelle les étapes : Code :
SELECT dep_id FROM departement WHERE dep_id='01' Code :
SELECT dep_id FROM departement WHERE dep_lib='Ain' Je copie "01" sur l'écran et je le colle à la place de mon '01' Code :
SELECT dep_id FROM departement WHERE dep_id='01' Je comprends rien à mon problème.
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Ah...ben justement tient...en faisant un copier-coller du "01" vous avez-vu ce qui apparait dans mon dernier message!!
Meuh queu sskeu ceu kça!
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#8 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Visiblement il s'agit d'un BOM, d'une signateure UNICODE rajouté par je ne sais trop quoi encore.
Mon CSV est édité par EXCEL et je l'encode en UTF-8 avec le bloc note. Pour tous mes chiffres 1 situés entre les ";", le bloc note m'aurait rajouté ce caractère "". Reste à savoir comment m'y prendre pour zapper ce problème
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
Caractère foireux en l'occurence puisqu'il ne s'affiche pas ici lol
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Développeur Web Inscription : mai 2006 Messages : 936 ![]() |
J'ai fais des recherches, la BOM s'avère être enregistrée dans la base de données !
Plus précisément dans la table des départements, que j'ai nourrie avec un CSV assez en vogue sur le net : http://www.galichon.com/codesgeo/ Je ne pense pas que cette BOM était dans le CSV car je l'ai déjà utilisé sans problème. Je soupçonne postgresql 7.4...possible??
__________________
Développeur indépendant sur technos Web à votre service |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : septembre 2007 Messages : 5 ![]() |
Normalement la base ne contient que les données que tu lui envoient, et en ouvrant le csv avec un programme qui te montre le contenu sans l'interpréter t'arrive pas à voir ce qu'il y avais dedans ?
Oscar |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com