LaurentDenis
jeudi 27 janvier 2005 à 19:22
Le problème d'encodage ne doit pas être réglé dans le fichier lui-même. Celui était encodé en iso-8859-1 apparemment. Il faut donc d'abord rétablir le <?xml version="1.0" encoding="iso-8859-1"?>.
Ensuite, pour résoudre le problème signalé par le validateur, il faut intervenir au niveau serveur, pour modifier l'en-tête HTTP Content-Type qui renvoit actuellement la valeur US-ASCII et qui devra indiquer l'encodage réel du fichier, c'est à dire iso-8859-1.
Au plus simple, passer par php et ajouter :
CODE
header('Content-Type: text/xml; charset=iso-8859-1');
CITATION(Dash @ jeudi 27 janvier 2005, 18h43)
Vous mélangez tout ! Pourquoi utiliser un charset US-ASCII ? Y a-t-il une raison qui justifie cela ?
un coup vous utilisez des caracteres accentues (=> charset a utiliser : UTF-8), un coup vous utilisez les equivalents iso (=> charset a utiliser : iso-8859-1).
Vous devriez choisir un format d'encodage et vous y tenir. A moins que vous ne teniez a donner le tournis aux lecteurs RSS

Meme chose pour le reste du site. Si vous definisez vos pages HTML avec un charset iso-8859-1, alors vous ne devriez pas avoir de caracteres accentues (é, ê, è...) dans votre code HTML. La non plus ce n'est pas coherent

Aïe Aïe Aïe ! Non !
ça n'est pas du tout ça, un encodage !
Le fait qu'un document soit en utf-8 ou en iso-8859-1 ne change rien. Les caractères accentués peuvent aussi bien être:
- directement présents : é
- présents sous forme d'entités caractères: & eacute;
- présents sous forme d'entités numériques: & #233;
Ce n'est que lorsque l'on utilise un caractère absent d'un encodage qu'il est nécessaire de passer par l'entité caractère ou numérique, celle-ci étant indépendante de l'encodage. Autrement dit, la lettre grec alpha dans un document en iso-8859-1 doit être encodé & Alpha; ou & #913;
Ici, ce n'est absolument pas nécessaire, et tant que nizouille se contentera de mettre des caractères accentués, il peut très bien les écrire littéralement, dans la mesure où son éditeur HTML gère l'iso-8859-1. Il peut aussi les encoder, ce qui ne sert à rien, mais ne pose absolument aucun problème.