Bjr à tou(te)s, long time Smiley cligne

Je voudrais être sur de bien avoir compris qlq chose :

Si je déclare ma page

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />


je n'ai alors plus besoin d'encoder les caractères spéciaux dans ma page ?? (c.a.d que j'écris dans le (X)HTML "Présentation" et non-plus "Pr&eacute;sentation" car tous les agents utilisateurs vont la lire correctement) ?

Smiley murf

merfi
Modifié par format C: (25 Mar 2007 - 18:30)
Salut,

Je sais que l'ISO-8859-1 ou ISO-8859-15 ne t'y oblige pas, mais il me semble sauf erreur de ma part que l'UTF-8 ou l'UTF-16 oui par contre.
Ah ?! Smiley eek je croyais que c'était l'inverse...

D'ailleurs DW (en copier/coller dans la fenêtre de preview) ne converti pas les accents d'un texte dans une page en UTF-8 alors qu'il le fait automatiquement ds un page en iso-8859-1.

Après recherche poussée, je fais le choix de passer mes nouveaux sites en UTF-8 dorénavant, surtout que certains sont multi-langues. L'iso-8859-1 n'était surtout utilisé parce que les anciennes versions de browsers ne supportaient pas l'UTF-8 j'ai cru comprendre.

a écrit :
Use UTF-8 (without a BOM) if at all possible, especially for multilingual sites.
source : http://www.sitepoint.com/article/guide-web-character-encoding

D'autres avis ?
Mon site est en ISO-8859-1 et j'ai jamais rentré un seul caractère spécial Smiley murf
Je n'ai pas de réponse précise quand au choix que tu dois faire, qui de toute manière doit dépendre de la finalité de ton site.
Je ne sais pas si tu as lu ce sujet, mais si ce n'est pas le cas peut être qu'il t'aiguillera plus précisément dans ton choix.
Iso-8859-1, iso-8859-15, utf-8, lequel choisir ?
Mikachu a écrit :
Mon site est en ISO-8859-1 et j'ai jamais rentré un seul caractère spécial

Je viens de faire des tests, et par défaut IE6.x, IE7, FF2 et Op9 lisent les pages en fonction de la déclaration du Content-Type de la page, donc jusque là tout roule, mais si qlq1 force son browser à lire tes pages en UTF-8, alors ta page (en ISO-8859-1) sera remplie de "?", Pr?sentation par expl.
À l'inverse, avec la page en UTF-8 et lecture forcée en ISO donne "Présentation", mais PAS si j'utilise "&eacute;" à la place de "é" et cela dans TOUS les cas de figure...d'où l'utilité de coder les car. spéciaux à mon avis.

Pour le thread, je l'avais déjà lu merci, mais il ne m'a pas plus fait avancer. Smiley smile

Donc je change ma question et elle est maintenant :

Connaissez vous des cas où les browsers "forceraient" un autre Content-Type que celui déclaré dans la page ?? (je ne parle pas ici des pbms liés aux BDD et autres CMS, mais bien d'une page statique (X)HTML)
format C: a écrit :

Je viens de faire des tests, et par défaut IE6.x, IE7, FF2 et Op9 lisent les pages en fonction de la déclaration du Content-Type de la page, donc jusque là tout roule, mais si qlq1 force son browser à lire tes pages en UTF-8, alors ta page (en ISO-8859-1) sera remplie de "?", Pr?sentation par expl.

Déja je savais pas que c'est possible, tu me l'apprends, mais par contre je n'en vois pas l'intérêt. Il y a tellement de sites en ISO, surtout par chez nous, il faudrait vraiment vouloir se compliquer la vie !
On n'est obligé de taper les entités dans aucun des encodages (sauf peut-être us-ascii). Avec ISO-8859-1 il manque juste quelques caractères comme :

— œ, Œ (&oelig;, &OElig;)
— € (&euro;)
— Ÿ ÿ (heu…)

Mais dans la plupart des cas le navigateur se débrouille pour afficher parfois le caractère manquant même sans entités. Mais là faut pas m'en demander plus…

UTF-8 lui comprend un jeu complet avec en plus la possibilité de caractères asiatiques, arabes, hébreux, etc.
Houlà... ça patauge dans la semoule là, non ?

1. Aucun encodage n'oblige à utiliser les entités de caractères de type &eacute; et compagnie. Chaque encodage permet d'encoder un certain jeu de caractères, et tant qu'on reste au sein de ce jeu de caractère on peut très bien se passer des entités de caractères.

2. Pour mémoire, l'encodage ISO-8859-1 (dit aussi latin1) couvre environ 190 caractères, correspondant pour l'essentiel à des caractères des variantes d'alphabet romain utilisées en Europe de l'Ouest.
Voir la liste complète sur Wikipédia (note : cette liste n'est bien entendu pas normative et sa validité serait à vérifier, mais ça me semble globalement correct).

3. L'encodage UTF-8 permet d'encoder tous les caractères (du moins les caractères de la plupart des alphabets au monde, et pas mal de symboles ou glyphes de diverses origines... je ne saurais pas en dire plus).

4. Il n'est pas interdit d'utiliser un encodage « large » tel qu'UTF-8 et d'utiliser malgré tout des entités caractères. Ça peut être pratique pour réaliser un gabarit (template) de site, que l'on veut compatible ISO-8859-1 et UTF-8 par exemple.

5. Il peut arriver que l'encodage spécifié dans la balise META idoine d'un document HTML ne soit pas prise en compte. Si le serveur envoie la page HTML avec un en-tête HTTP indiquant un encodage différent, par exemple. Voir la FAQ du forum à ce sujet (partie « Encodage déclaré »).

Voilà, ça devrait couvrir la plupart des questions de ce fil (que j'avoue avoir lu un peu en diagonale).
heu... merci à tous de participer Smiley smile ...mm si j'ai l'impression qu'on savait déjà quasiment tout ce qui est dit jusque là Smiley lol

La question c'etait :
a écrit :
Connaissez vous des cas où les browsers "forceraient" un autre Content-Type que celui déclaré dans la page ??

...c'est la seule raison qui justifierait d'encoder les caractères spéciaux à mon sens. (Opéra pour handheld par expl ? ou sur une XBox ?...)

En tous cas je me contente de vos réponses et je continue de plus belle avec UTF-8 et pas d'encodage.

merci
Modifié par format C: (26 Mar 2007 - 01:57)
Comme Florent l'a expliqué, c'est le serveur qui peut forcer la déclaration d'encodage des pages via une requête http. Il arrive parfois que des sites déclare tel encodage dans la page avec la balise meta et envoient en fait un autre encodage au navigateur, ce n'est pas trop grave si la requête correspond à l'encodage réel des caractères. Dans le cas contraire, il faut utiliser un .htaccess ou php pour remettre l'encodage correct dans la requête http.

La meta sert également lors de la sauvegarde des pages (enregistrer sous...), si la meta ne correspond pas à l'encodage réel, la présentation à l'écran sera illisible.
bonjour,
Hou ! la la ! j'ai du mal à suivre !

J'essaye de faire mon premier site en xhtml strict utf-8 et le Validome me refuse mes &eacute; , &ucirc; , etc...
Etes-vous en train de dire que je n'en ai pas besoin ? que je peut laisser mes "é", "û" ... tel que ?

merci de m'éclairer svp
Bonjour,
Excusez - moi mais voici ce qui est écrit sur : a-pellegrini.developpez.com/
a écrit :
Qu'est-ce que l'encodage de caractères?
L'encodage de caractères est un processus qui à chaque caractère associe un code que la machine peut comprendre.
Le codage le plus utilisé de nos jours est l'ISO-8859-1 qui permet d'encoder 191 caractères de l'alphabet latin.
Ensuite vient l'ISO-8859-15, qui permet, comme le précédent d'encoder l'alphabet latin mais permet également d'encoder des caractères fusionnés, €, ...
Aujourd'hui, l'internationalisation devient de plus en plus importante. Donc un jeu de caractères aussi restreint que l'ISO-8859-1 ne permet pas d'afficher des caractères dans d'autres langues tels que le japonais, etc. Pour pallier à ce problème, la norme Unicode a été inventée et donne place à l'UTF-8.
D'un point de vue général, peu importe l'encodage utilisé, dans un soucis d'interopérabilité, il vaut mieux toujours utiliser les entités HTML.


Amicalement Smiley cligne
Modifié par Florent V. (22 Mar 2008 - 23:23)
Bonjour,

Joli ramassis de bêtises...

a écrit :
Le codage le plus utilisé de nos jours est l'ISO-8859-1

Ah? C'est peut-être vrai, si le web américain utilise massivement iso-8859-1. Mais il faudrait avoir des chiffres mondiaux fiables pour affirmer quoi que ce soit.

a écrit :
Ensuite vient l'ISO-8859-15

Non. Je suis prêt à parier que Shift_JIS, par exemple, représente entre 50 et 200 fois plus de contenus que iso-8859-15 (estimation très grossière, à la louche).

a écrit :
D'un point de vue général, peu importe l'encodage utilisé, dans un soucis d'interopérabilité, il vaut mieux toujours utiliser les entités HTML.

N'importe quoi (ou du moins c'est diablement imprécis, et il est idiot de faire ce genre de préconisation générale sans en pointer les limites).

Bref, ce descriptif n'est pas à retenir comme référence.
Modifié par Florent V. (22 Mar 2008 - 23:27)
Bonsoir,

Je plussoie fortement Florent.

J'ajoute que pour ma part je penses que les entités html sont obsolètes et à éviter car compliquant inutilement le code.
Il vaut mieux choisir un encodage qui permet d'utiliser directement les caractères que l'on veut, par exemple latin-1 pour un site francophone, shift_js pour un site en japonnais ou encore utf-8 pour un site mélangeant les deux.

Il faut cependant nuancer ce propos, quelques entités reste intéressantes:

&lt; / &gt; qui empêchent d'interpréter une balise html où il n'y en a pas.

&amp; qui évite de chercher une entité quand il n'y en a pas.

&quot; par exemple pour ajouter un " dans un argument html.

&nbsp; qui reste le moyen le plus simple d'insérer un espace insécable par exemple entre une ponctuation et un mot (exemple&nbsp;:). À noter cependant que pour le même effet sur un paragraphe entier on préfèrera régler la chose en css (white-space: nowrap/pre;).
Modifié par Necromantik (22 Mar 2008 - 23:59)