Aller au contenu

aider un débutant en xml


nizouille

Sujets conseillés

Les erreurs sont detailees avec FEED Validator...

L'information "webmaster" doit contenir une adresse electronique. Idem pour "author".

"pubDate" doit etre renseigne avec un format similaire a "Sun, 19 May 2002 15:21:36 GMT"

Comme l'indique le document RSS 2.0 Specification, ces balises sont optionnelles... Au besoin, vous devriez pouvoir vous en passer.

Par contre, le caractere "\x95" (symbole MS Word ?) n'est pas valide. Trouvez son equivalent ISO...

Si vous voulez pouvoir utiliser des accents et autres caracteres exotiques, envisagez d'utiliser un encodage UTF-8 :)

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines plus tard...

Je n'arrive pas à valider l'encodage ...

ça marche po ...

Même quand je mets "US-ASCII", il me dit :

Your feed appears to be encoded as "US-ASCII", but your server is reporting "US-ASCII" [help]

Gné

Lien vers le commentaire
Partager sur d’autres sites

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 :)

Lien vers le commentaire
Partager sur d’autres sites

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 :

header('Content-Type: text/xml; charset=iso-8859-1');

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 :)

<{POST_SNAPBACK}>

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.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...