quel codage de caractères choisir ? svp

judikael

Membre actif
29 Juin 2004
160
2
77
Bonjour,
Sachant que je code en xhtml srtict 1.0 utf-8 (évidemment avec les bons Doctype et charset),
que mon site est appelé à être en plusieurs langues.
Vaut - il mieux que je n'emploies pas les &eacutes, etc... mais plutôt les Numéros de caractère utf-8 : é = 223 , etc ... ?
Quels sont les inconvénients ?
J'ai bien du mal à "saisir" ces histoires de codages sur les pages web que j'ai visitées.

Voulez - vous m'aider svp :heu::zen:

merci
 
Si tu travailles en utf8, tu ne dois pas utiliser les entités sauf pour les 3 caractères de base :
  1. & = &
  2. < = &lt;
  3. > = &gt;
Tu tapes directement le texte avec tous les caractères que tu veux (même asiatiques, arabes, ect). :)
 
Et pour un site multilingue, ne pas oublier de changer la langue du document pour chaque pages…

Bloc de code:
<!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="[B]fr[/B]" lang="[B]fr[/B]">

  • fr pour français
  • en pour anglais
  • es pour espagnol
  • etc
 
Si tu travailles en utf8, tu ne dois pas utiliser les entités sauf pour les 3 caractères de base :
  1. & = &amp;
  2. < = &lt;
  3. > = &gt;
Tu tapes directement le texte avec tous les caractères que tu veux (même asiatiques, arabes, ect). :)

Même avec n'importe quel encodage d'ailleurs, tant qu'il est bien spécifié et que les pages sont enregistrées dans le bon format, les entités n'ont pas vraiment d'intérêt.
 
En ISO-8859-1, normalement tu dois aussi utiliser des entités pour €, Ÿ, ÿ, Œ, œ qui ne sont pas compris dans l'encodage de base… ;)
 
Merci, merci,

Donc, si je comprends bien, je laisse les " é " , etc... (avec accent ) sans coder ?

Voyez - vous, ce qui m'a fait douter, c'est ce genre de phrase sur le web : " Si vous voulez être super Béton faites tout en UTF-8, sauf que la, un " à " se code :
Bloc de code:
à
et non &agrave; .
Cette phrase laisse à supposer qu'il faut coder en décimal.

remarque : le validateur accepte pourtant mes &eacute; , etc en xhtml utf-8

macamicalement :zen:
 
Oui les entités sont acceptées, c'est normal, ça date du temps où les sites étaient en encodage us-ascii (donc sans accents). Tu ne dois pas les utiliser, ça ne sert plus à rien… Le code html est quand même plus lisible sans non?
 
J'ai bien du mal à "saisir" tout ça, sans doute que je suis trop fatigué. Je ne veux pas dire que je t'ai mal compris mais à quoi donc sert l'Unicode si l'on a plus besoin de coder ni en caractères &eacute; ... ni en decimal ni en hexadécimal ?

:confused:
 
Je ne comprends plus moi-même ce que tu veux&#8230; Voici une page avec entités :

Bloc de code:
<!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" lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title>Faut-il utiliser les entit&eacutes;&nbsp;?</title>
    
</head>

<body>
    <h1>Faut-il utiliser les entit&eacutes;&nbsp;?</title</h1>
    <p>Une esperluette&nbsp;: &amp;</p>

</body>
</html>
Et une sans les entités (é) :

Bloc de code:
<!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" lang="fr">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title>Faut-il utiliser les entités ?</title>
    
</head>

<body>
    <h1>Faut-il utiliser les entités ?</title</h1>
    <p>Une esperluette : &amp;</p>

</body>
</html>
Quel est code est le plus lisible? Le deuxième non? Tu utilises quoi pour faire tes pages web?
 
Pour Editeur J'utilise Smultron

Je t'ai bien compris et je suis bien d'accord avec toi.

Ce que j'aimerai comprendre, c'est : pourquoi l'Unicode si il n'y a plus besoin de &eacute; ni codage décimal ni hexadécimal ?

mais si c'est trop long à expliquer = laisse tomber ! tu es super sympa quand - même :up:
 
À mon avis, tu fais une fixation sur le nom de l'encodage, c'est ça qui t'as induit en erreur. J'avais commencé à écrire une tartine mais wikipedia explique tout ça très bien. En fait on va dire que c'est ton éditeur de texte qui encode les caractères correctement, ce qui évite de devoir utiliser les entités.
 
Je te conseille même de lire l'article sur l'unicode plutôt que celui sur l'utf-8 sur wikipedia. Mais pour résumer, l'unicode c'est juste une représentation des caractères, tandis que l'utf-8 est une façon de les coder, qui consiste en gros à utiliser plus d'un octets pour les caractères spéciaux (à l'origine on en utilisait un, avec 7 bits pour les caractères standards dis "ascii" communs à tous les encodages, et 1 bit pour les caractères spéciaux,dis ascii étendu, qui varient selon les encodages, les encodages ayant des besoins différents selon les plateformes et les pays, c'est pour ça qu'avec un mauvais encodage on lit tous les caractères correctement sauf les caractères accentués/spéciaux). Il y a d'autres encodages unicode que l'utf-8 destinés à des usages différents. Par exemple l'utf-8 pose de gros problèmes avec certains langages de programmation parce que la taille de codage d'un caractère peut varier. D'où l'utf-16 ou utf-32.
Et puis d'ailleurs il y a également plusieurs utf-8 différents selon les pays, en général on utilise le suédois...
Bref, que d'illusions pour ceux qui pensaient que l'utf-8 allait être une norme universelle pour plus se trimbaler 50 encodages différents, il ne fait que complexifier les choses. ;) Mais permet de représenter un nombre quasi infini de caractères.

Pour ce qui est des équivalents html, dis entités, ils servent à s'affranchir des encodages de texte... C'est pratique quand on bosse sur mac et que des collègues sont sur pc, parce que par défaut nos fichiers sont en macroman, tandis qu'eux sont en windows latin 1 (ou iso 8859-1 sous linux, qui est assez proche à priori et est le plus répendu sur internet), et le pire c'est que rien n'a été prévu comme norme pour pouvoir spécifier dans un fichier en quoi il est encodé, il faut deviner. Les entités servaient aussi quand les navigateurs ne connaissaient pas forcément tous les encodages... Bref, c'est quelque chose de tout à fait indépendant de l'encodage de texte, c'est de l'html.
 
Je te remercie beaucoup Grumff,

mais je renonce à comprendre pour le moment, c'est trop fort pour moi d'un coup.

Donc, sans comprendre les bits, les entités, tous ces mots ésotériques que doit connaître un informaticien - webmaster ( ce que je ne suis pas mais simple artiste peintre professeur d'art graphique) à chacun son Art ; il me suffirai de savoir si en codant en xhtml utf-8 si je doit employer les &eacute; , le décimal, ou hexa ou bien aucun ? cela en fonction des Navigateurs actuels et du w3c.

macamicalement:up:



" Aux gens simples, il faut répondre simplement "
 
Un bit c'est simple, c'est 0 ou 1. Les entités sont ce qu'on appelle aussi "équivalents html", bref, les &eacute; et autres symboles barbares.

Bref, la conclusion, c'est que tu n'as pas à te soucier de toutes ces barbaries, si tu es en utf-8 tu peux mettre tous tes symboles/accents/caractères spéciaux de la même façon que tu les mets sous word : en les tapant directement au clavier.

Les seules exceptions comme l'a dit gloup gloup sont les caractères < (inférieur) >(supérieur) et parfois & (Esperluette ou "et commercial") parce qu'ils interfèrent avec les balises html.
 
  • J’aime
Réactions: judikael