|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 3 ![]() |
Bonjour,
je suis en train de m'amuser à rentrer des infos récupéré d'un flux rss dans une base de données. Pour le moment tous fonctionne correctement et j'ai tout en utf-8 sauf le fichier XML d'où provient le flux qui lui est apparemment en iso-8859-1 (dû moins c'est version="1.0" encoding="ISO-8859-1"). Le soucis est que je récupère tout correctement niveau accentuation, c'est enregistré avec les accents correctement dans ma base de données aussi, mais dès qu'il y a un apostrophe ou le sigle euro, je récupère alors un petit carré avec des chiffres dedans (0092 pour l'apostrophe par exemple). J'ai beau utilisé utf8_decode/utf8_encode ca ne change rien, je récupère alors soit un losange noir avec ? � dedans soit Â' à la place de l'apostrophe, sans parler que dû coups les caractères qui était correctement accentué avant partent eux aussi en vrille. Donc si quelqu'un a une petite idée du comment transformer ce carré 0092 en véritable apostrophe, je suis preneur merci |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 731 ![]() |
Salut
Ca un moment maintenant que je n'utilise plus de l'iso-8859-1 (essentiellement du utf-8), donc sauf erreur, l'iso-8859-1 contient très peu de caractères spéciaux (comme ô, ù, à, etc ...) et aussi le signe €. Si le flux est l'iso-8859-1 et contient ce genre de caractères j'ai tendance à dire que c'est peine perdue. C'est une erreur de la part de celui qui génère ce flux. Ceci dit, pas forcément. Il faudrait le lien vers ce flux contenant ces divers caractères là pour voir comment il est construit (la source). Ca peu venir aussi dans la manière dont tu récupères le flux (en admettant qu'il soit bien codé). D'ailleurs, si tu pointes directement sur ce flux via ton navigateur, est-ce que tu visualises bien ces caractères ?
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 3 ![]() |
Salut,
Pour ce qui est du flux, voilà son adresse : http://feeds.feedburner.com/Revioo Le soucis ce pose par exemple sur l'item <title> se nommant "Revioo : En route pour l’IT Partners" Dans chrome ou firefox quand j'ouvre le flux directement, l'affichage se fait correctement. Le truc vraiment bizarre c'est que je n'ai aucun soucis avec les accents, donc je suppose que je fait correctement la récupération de l'iso vers l'utf ? Bon après ca me gène pas plus que ca, mais c'est quand même plus propre d'avoir un véritable apostrophe qu'un petit carré avec 0092 dedans merci pour la réponse |
|
|
00
|
|
|
#4 |
|
Membre éclairé
![]() Inscription : juin 2007 Messages : 337 ![]() |
tu peu regarder du coté de mb_encode_numericentity()
pour obtenir des caractères iso en html, puis les rentrer dans la bdd
__________________
Conception / Dev |
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Inscription : mai 2011 Messages : 3 ![]() |
Effectivement, ca fonctionne !
mais j'ai tâtonné un peu car je ne savais pas quoi mettre dans l'array $convmap en faisant quelque recherche sur le net, j'ai trouvé ca : Code :
et après un rapide essai, c'est concluant, j'ai bien mes petits carré 0092 qui disparaissent, par contre maintenant va falloir que je comprenne la signification des valeurs dans cet array edit : oups, quel mal élevé je fais... j'ai oublié de dire un grand merci aux personnes ayant apporté une réponse |
||
|
|
00
|
|
|
#6 |
|
Membre éclairé
![]() Inscription : juin 2007 Messages : 337 ![]() |
pour l'iso tu peu regarder la
http://fr.wikipedia.org/wiki/ISO_8859-1 et à priori ici http://www.alanwood.net/demos/charsetdiffs.html
__________________
Conception / Dev |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com