gestion des accents dans un flux rss

Stlenneg
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 1 Mai 2007

gestion des accents dans un flux rss

Message le Ven Juil 20, 2007 21:17

Salut tout le monde,

Je me suis lancé dans la réalisation de flux rss pour les news d'un site, j'ai lu quelque tutoriaux, regardé quelques exemples, et il me reste un dernier problème que je n'arrive pas à résoudre.

Sous firefox les accents sont remplacés par des � dans ma page php de création de flux.
Sous IE le flux ne s'affiche pas à cause justement des accents.

Je récupère mes données d'une base mysql, et l'encodage (je n'y connais rien) est en latin1_general_ci, j'ai essayé de le passer en utf8_general_ci mais ça n'a rien changé.

Y a-t-il une gestion spécifique à faire pour les accents, au niveau de la création du flux, où dans la base de données ?

Merci d'avance.

bigjet
WRInaute discret
WRInaute discret
 
Messages: 211
Inscription: 21 Nov 2004

Message le Ven Juil 20, 2007 21:55

Tu dois encoder tes données de cette manière:

utf8_encode(htmlspecialchars(stripslashes($donnees)));

Stlenneg
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 1 Mai 2007

Message le Ven Juil 20, 2007 21:59

Merci beaucoup.

Cela marche pour les accents, les quotes..etc
Par contre, du coup les images ne sont plus affichées mais à la place j'ai le code html, ce qui me gêne un peu, tu aurai une solution pour cela ?

Et à la place des sauts de ligne, j'ai le code html <br />...


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Message le Ven Juil 20, 2007 22:02

essaye en virant ça : htmlspecialchars

Stlenneg
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 1 Mai 2007

Message le Ven Juil 20, 2007 22:11

nickel, merci ;)

Et sinon, pourquoi le fait d'encoder dans ma bdd directement en utf8 ne résolvais pas le problème ?

Stlenneg
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 1 Mai 2007

Message le Mer Juil 25, 2007 22:27

Finalement cet encodage me crée des problèmes.

Si je ne met pas utf8_encode() mes accents sont remplacés par des �
Mais si je met utf8_encode() les lecteurs de flux rss lisent mes accents sous la forme é.

Soit mon affichage est foireux, soit la lecture par les lecteurs rss est foireuse.
Comment puis-je résoudre cela ? :(

bigjet
WRInaute discret
WRInaute discret
 
Messages: 211
Inscription: 21 Nov 2004

Message le Mer Juil 25, 2007 23:30

essaie de remplacer htmlspecialchars par htmlentities dans l'exemple que je t'ai passé plus haut.

L'idée, c'est qu'il faut remplacer les accents par leur caractère html correspondant.

Stlenneg
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 24
Inscription: 1 Mai 2007

Message le Mer Juil 25, 2007 23:47

En fait je viens de trouver, j'ai passé l'encodage de mon fichier xml en ISO-8859-1 et j'ai retiré l'encodage en utf8.

htmlentities ça remplace les caractères par leur équivalent html, et c'est compatible tout formats ?


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités