En enlevant les accents aiguë, circonflèxe, grave, cédille... de notre belle langue française dans mon <p>paragraphe<p/>, qui est dans <body> de ma page index.php... le validateur accepte la page et la valide sans aucune faute. Ce qui n'est pas le cas avec les accents.
Donc il doit me manquer quelque chose ici, mais quoi ? ;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
Voici le rapport:
Dans ce document XHTML, aucune indication de jeu de caractères n'a pu être trouvée.
En revanche, une balise Meta contenant une indication d'un jeu de caractères a été trouvée (iso-8859-1).
Cette manière d'indiquer le jeu de caractères n'est pas reconnue pour les documents XHTML et ne devrait être
utilisée que par mesure de compatibilite avec HTML.
Veuillez ajouter une déclaration XML avec indication de jeu de caractères au début de votre document
(par ex. <?xml version="1.0" encoding="iso-8859-1"?>,
ou bien faites envoyer par votre serveur une entête HTTP correspondante
(en PHP avec header('Content-Type: text/html; charset=iso-8859-1');).
Par manque d'indication de jeu de caractères, ce document a été traité par fallback avec UTF-8.
Tu peux également utiliser l'attribut lang en plus de xml:lang sur la balise <html>
« En revanche, une balise Meta contenant une indication d'un jeu de caractères a été trouvée (iso-8859-1). Cette manière d'indiquer le jeu de caractères n'est pas reconnue pour les documents XHTML et ne devrait être utilisée que par mesure de compatibilite avec HTML. »
Non, la balise meta servant à indiquer l'encodage est également utilisée en XHTML.
Assures-toi que ton fichier soit également encodé en ISO-8859.
« Veuillez ajouter une déclaration XML avec indication de jeu de caractères au début de votre document
(par ex. <?xml version="1.0" encoding="iso-8859-1"?>,
ou bien faites envoyer par votre serveur une entête HTTP correspondante
(en PHP avec header('Content-Type: text/html; charset=iso-8859-1');). »
La déclaration XML ne doit se faire uniquement si le document est servi en tant que document XML, donc avec « application/xhtml+xml » comme type MIME (Content-type).
La plupart des serveurs servent les fichiers .html, .htm et .php en « text/html », donc c'est inutile.
La méthode PHP proposée est l'équivalent de la balise meta, ceux deux méthodes précisent l'entête HTTP « Content-Type ».
Afin d'éviter les problèmes d'encodage :
1) Détermine l'encodage que tu désires utiliser.
UTF-8, ISO-8859-1 ou ISO-8859-15 sont les plus utilisés
2) Encode tes fichiers dans cet encodage (avec ton éditeur de texte)
3) Indique aux navigateurs l'encodage choisi grâce à :
- La balise meta :
Petite astuce, quand vous écrivez du texte dans un éditeur, apprenez les accents en code et tappé les. Vous êtes ainsi que certain que ça fonctionnera.
"Expert en Référencement Google. Envoyer moi un message privée si vous avez des questions."
ben voyons !!!!
et la charte de CCM tu as pris le temps de la lire ???
Sorry, I am unable to validate this document because its content type is application/octet-stream, which is not currently supported by this service.
The Content-Type header is sent by your web server (or web browser if you use the file upload interface) and depends on its configuration. Commonly, web servers will have a mapping of filename extensions (such as ".html") to MIME Content-Type values (such as text/html).
That you received this message can mean that your server is not configured correctly, that your file does not have the correct filename extension, or that you are attempting to validate a file type that we do not support yet. In the latter case you should let us know that you need us to support that content type (please include all relevant details, including the URL to the standards document defining the content type) using the instructions on the Feedback Page.
Mes pages sont sur mon ordi et non sur le serveur de l'hébergeur.
Je ne suis pas bilingue et c'est mon 1er site :s
Avion, tu es trop technique pour moi, aie pitié.
Mastercrow ton code ne marche pas plus que le mien.
Referencement-google j'aime bien ton idée j'ai déjà vu une liste de ces codes, tu en as une pas loin ?... Tu peux me l'envoyer s'il te plaît, je vais m'en foutre une copie sur mon bureau =)
Je vais les écrire et repasser au validator et vous redonne des nouvelles
L'erreur donnée par le validateur signifie que ta page contient du PHP.
As-tu utilisé la solution par choix de fichier (envoi) ?
Le validateur ne comprend pas le PHP, il faut donc lui donner une page sans celui-ci.
Soit tu indiques une adresse http:// (après avoir mis ton site sur un serveur accessible par Internet) ou bien alors tu utilises l'onglet "Direct Input" qui permet de coller le code source qui tu peux récupérer via ton navigateur.
je suis sur l'onglet validate by file upload, le fichier est sur mon ordi ... pas sur le web.
J'ai enlevé le code php de index.php, marche pas.
J'ai fait saveas index.php pour index.html et j'ai enlevé le code php...
w3c dit : Sorry! This document can not be checked.
Validome dit : Erreur fatale : Dans la ligne 14 et la colonne 42 du document se trouve un caractère non valable.
Ce caractère n'est pas permis dans le jeu de caractères utilisé (utf-8).
Retirer le code PHP n'est pas une solution car du contenu généré par le PHP ne sera pas présent dans le code final.
Soit tu utilises la validation via une URI, soit en faisant un copier/coller du code source affiché par le navigateur Web dans l'onget « Direct Input »
J'ai retiré le code PHP juste pour tester, il est évident que ce n'est pas la solution =)
Et tu avais raison, le même fichier : en html, il est valide et en php il est invalide.
Via une URI je ne peux pas, pas encore ;o)
Et j'ai fait ton truc via direct input et oOoOoo ça marché et de plus j'ai une note de 100% à la validation du 1er coup... Pour une première je trouve ça FANTASTIQUE... J'ai le sourire fendu jusqu'aux oreilles. C'est peut-être juste la chance du débutant... Il me reste à valider toutes mes pages maintenant.
Bon j'ai quand même ce message et je n'y comprends rien à rien !
Notes and Potential Issues
The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation, or other things affecting the output below. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is highly recommended to check these potential issues, and, if necessary, fix them and re-validate the document.
Info Using Direct Input mode: UTF-8 character encoding assumed
Unlike the "by URI" and "by File Upload" modes, the "Direct Input" mode of the validator provides validated content in the form of characters pasted or typed in the validator's form field. This will automatically make the data UTF-8, and therefore the validator does not need to determine the character encoding of your document, and will ignore any charset information specified.
If you notice a discrepancy in detected character encoding between the "Direct Input" mode and other validator modes, this is likely to be the reason. It is neither a bug in the validator, nor in your document.
Tu peux m'expliquer en vulgarisant s'il-te-plaît ? Merci !
Cette avertissement disparaîtra lorsque tu passeras la validation avec une URL, ne t'en occupe pas.
Il indique juste que comme la page du validateur où tu entres le code est en UTF-8, la validation se fera automatiquement dans cet encodage en ignorant la balise meta.
Attention : la déclaration XML peut parfois poser quelques problèmes avec PHP car sa syntaxe est comprise comme étant une introduction à du code PHP.
Pour cela, il faut réécrire la déclaration de cette manière :
<?php echo '<?xml version="1.0" ?'.'>'; ?>
J'ai beau lire et relire cette "Attention" mais je ne comprends pas ! Pose problème si je met le code ou pose problème si je ne le met pas ? Mon site est dynamique, toutes les pages sont en PHP.
J'ai trouvé ces 3 codes depuis hier et là je ne sais plus où donner de la tête:
Sur certains serveurs, une option appelée « short_tags » est activée.
Cette option (qui est d'ailleur déconseillée) permet d'utiliser d'utiliser « <? » à la place de
« <?php »
Du coup, en écrivant <?xml ... ?>, le contenu entre « <? » et « ?> » est considéré comme du PHP, mais comme ce n'en est pas, une erreur est provoquée.
Il faut donc écrire la balise via un echo en PHP pour éviter ce problème.
Oublie cette histoire de déclaration XML, est n'est pas utile en XHTML 1.0.
Et je ne pense pas que tu utilises le XHTML 1.1, il est très peu utilisé.
Quant à utiliser ISO-8859-1 ou UTF-8, c'est toi qui choisi.
Cependant, tu devras encoder tes fichiers dans le jeu de caractère indiqué dans la meta.
ISO-8859-1 (ou -15) est souvent utilisé par les sites francophones.
L'UTF-8 est un jeu de caractère supportant bien plus de caractères que ceux de la langue française. Il est utilisé un peu partout dans le monde (y compris par les sites français).
Le choix du jeu de caractère (charset en anglais, c'est plus court :) ) d'un fichier se fait souvent à son enregistrement. Tu peux également le modifier dans les menus (n'oublie pas d'enregistrer après).
Les charset n'ont rien à voir avec les entités HTML « & + nom + ; »
Ce sont des tables faisant le lien entre une série de bits et un caractère.
C'est un peu comme le morse qui attribue un caractère à une suite pressions longues ou courtes.
Tous les jeux de caractères n'associent pas les mêmes caractères aux mêmes séries de bits.
https://fr.wikipedia.org/wiki/Codage_des_caract%C3%A8res
Mon site a des pages en français et en anglais quand on clique sur le lien "english"
Alors si j'ai bien compris, il faut mieux mettre utf-8
Et il faut que je change mes é en "& eacute point-virgule" -> je l'écris comme ça pcq dans mon autre post il a affiché un "é é" tout simplement au lieu du code :s
L'UTF-8 est un choix qui fonctionne dans la plupart des cas, c'est un encodage universel.
Il est inutile de transformer des caractères accentués en entités HTML (& + nom + ;)
Merci avion-f16 ça répond à ma question pour utf-8.
Dans le Doctype j'ai mis Strict sans m'occuper de Transitional et Frameset heureusement pour toi, mais j'aimerais savoir quand même... J'ai lu les différences mais sans comprendre quoi que ce soit. Si tu as envi de me vulgariser ça en 2 lignes, ne te gêne surtout pas =o)
Encore merci... je vais mettre en résolu mais je vais venir quand même voir ta réponse plus tard.
- Strict : comme son nom l'indique, c'est la norme la plus stricte.
Plusieurs balises et attributs jugés obsolètes (dépréciés) ont été retirés.
Les attributs de style (size, bgcolor, face, color, etc) ne sont plus valides.
Les balises <font>, <center>, <u> (et d'autres) disparaissent également.
Leur usage rend le document invalide.
Cette version exige une séparation du style et du code HTML, on est donc obligé d'utiliser le CSS via l'attribut « style », les feuilles externes ou la balise <style>.
Comme je n'ai aucune balise obsolètes, on oubli transitional et frameset. :D
Merci, ça fait ça de moins à m'occuper.
À propos d'utf-8, je l'ai changé sur toutes mes pages et là tous mes accents étaient des points d'interrogation dans des losanges noirs. Donc j'ai remis iso-8859-1.