Problème d'encodage des caractère dans HTML

Fanyn - 21 mars 2024 à 19:38
mamiemando Messages postés 33120 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 21 mai 2024 - 25 mars 2024 à 12:32

Bonjour,

Tout d'abord j'espère que ce titre est un minimum clair car ayant fait mon site en autodidacte je n'ai pas tout le vocabulaire pour m'exprimer clairement. 

Justement j'ai un problème et je n'arrive pas a identifier sa source, sur les nouvelles page de mon site internet que je rajoute tous les carractères accentué sont encodés "bizarement" par exemple un "é" va s'afficher "é" ou "ç" > "ç", ce qui donne des textes difficilement lisibles.

Aujourd'hui je fais mes pages avec majoritairement en HTML (quasi pas de CSS), je code avec VSCode et j'utilise Filezilla pour publier mon site hébergé sur LWS.

Au tout départ je faisait mes codes avec de simples fichiers texte et je n'avais pas ce problème. 
Puis j'ai fait la mise à jour de Fillezilla, changé d'ordinateur et je suis passé sur VSCode dans un court laps de temps donc je n'arrive pas à identifier d'où vient ce soucis, j'ai tenté de publier une page en la créant à partir d'un fichier texte comme je le faisait au départ mais le problème existe toujours et quand je visualise ma page et qu'elle est encore hébergée sur mon ordinateur (ou à partir de VSCode) tout s'affiche correctement.

Comment régler ce soucis et l'éviter à l'avenir ? 

Merci d'avance

A voir également:

2 réponses

jordane45 Messages postés 38182 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 mai 2024 4 670
21 mars 2024 à 19:58
1
mamiemando Messages postés 33120 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 21 mai 2024 7 753
Modifié le 23 mars 2024 à 13:12

Bonjour

Pour compléter le message de jordane45 qui explique comment résoudre le problème, juste une petite. Il existe plusieurs manières d'encoder un caractère (typiquement ISO 8859-1 ou UTF-8). Si la manière dont est encodé ton fichier ne correspond pas à l'encodage servi par ton serveur web / attendu par ton navigateur, tu verras des caractères bizarres.

La stratégie la plus simple (et que je recommande) est d'utiliser UTF8 partout autant que possible, et c'est exactement ce que propose de faire jordane45 dans #1.

La solution que je préconise consiste à définir l'encodage au dans l'entête de la page HTML. L'énorme avantage, c'est que tu tapes ton texte naturellement, sans te préoccuper par la suite de l'encodage.

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    à ç é ê è ë î ô ö û ü ù
  </body>
</html>

Le lien de jordane montre aussi comment faire en PHP.

L'encodage peut être défini dans la configuration du serveur web, mais ce n'est pas l'idéal, car le code du site web ne devrait pas avoir d'a priori sur la manière dont est configuré le serveur web.

Il est également possible de forcer l'encodage directement dans le navigateur, mais cela veut dire que potentiellement, n'importe quel utilisateur aura également à le faire, ce qui n'est évidemment pas le comportement souhaité.

Une dernière solution (que je déconseille également), mais qui rend ta page insensible à tous ces problèmes, est d'échapper tes caractères spéciaux (par exemple, en remplaçant et é par é , ê par ê , etc. Cependant c'est extrêmement fastidieux, et donc peu de gens font ça. 

Bonne chance

0
jordane45 Messages postés 38182 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 mai 2024 4 670
23 mars 2024 à 13:44

il n'y a pas que l'encodage que tu déclare dans ton code...  il y aussi l'encodage des fichiers eux même (ce que j'explique dans mon lien...)

bref.. ta réponse ne donne pas vraiment de conseils utils...

de plus... pourquoi as tu marqué la question en résolue alors que l'utilisateur n'est pas encore revenu nous dire ce qu'il en pensait ?

ps: evites également de t'auto plussoyer.... merci 

0
mamiemando Messages postés 33120 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 21 mai 2024 7 753 > jordane45 Messages postés 38182 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 mai 2024
Modifié le 25 mars 2024 à 12:44
  • Tu as raison de préciser que l'encodage est aussi défini au niveau du fichier lui-même. Ensuite la question me paraissait résolu car fanyn n'a pas répondu depuis deux jours alors que tous les éléments de réponse ont été donné dans ta réponse ou dans la mienne.
  • Ma réponse donné 4 des 5 endroits où sont (re)définis l'encodage et clarifie comment déclarer l'encodage dans le fichier HTML (ce qui est a priori la bonne manière de faire et qui n'est pas très clairement expliqué dans le tutoriel que tu pointes). D'où ma précision.
  • Enfin, le lien que tu donnes parle d'encodage dans des contextes a priori hors sujet (PHP, base de données, scripts), certes potentiellement impliqués dans un site, mais pas explicitement évoqués dans cette question. C'est à cause j'ai trouvé utile de compléter ta réponse, et je laisse Fanyn faire le tri dans nos indications pour trouver son bonheur...

Merci.

0