� a la place des caracteres spéciaux (H

Résolu/Fermé
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 - 22 août 2009 à 14:55
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 - 22 août 2009 à 15:19
Bonjour,

tout est dans le titre, sur de simples pages html publiées par un serveur apache

Tous les caractères spéciaux ont cette forme :�


je ne vois pas d'ou ça peut venir ? d'apache ?


merci!!!

5 réponses

(@)-JYX8X8-(@) Messages postés 4185 Date d'inscription vendredi 10 avril 2009 Statut Contributeur Dernière intervention 24 décembre 2014 422
22 août 2009 à 14:57
Si les caractères accentués ou autres caractères spéciaux de votre page sont remplacés par des carrés, des points d'interrogation, ou d'étranges séries de lettres comme « é » ou « ç », vous avez probablement un problème d'encodage des caractères.

Le problème le plus courant vient du fait que le navigateur ne sait pas quel encodage utiliser pour afficher la page, soit parce qu'aucune information ne lui est transmise, soit parce que l'information est erronée.

Pour bien comprendre les problèmes d'encodage, il faut distinguer l'encodage réel du document et l'encodage déclaré.
L'ENCODAGE RÉEL D'UN DOCUMENT

Tout document contenant du texte, et c'est le cas également des fichiers « texte brut » en .txt ou .html, sont enregistrés avec un jeu de caractères précis. Ce jeu de caractères, utilisé pour créer ou enregistrer le document, correspond à l'encodage réel du document.

Les encodages les plus fréquents (pour le public français) sont :

    * l'ISO-8859-1 (parfois appelé latin1), qui permet d'enregistrer presque tous les caractères du français ;
    * l'ISO-8859-15 (parfois appelé latin9), une variation de l'ISO-8859-1, qui rajoute le symbole « euro » et le « l'o dans l'e» ;
    * l'UTF-8, qui permet théoriquement d'encoder toutes les langues, du français au japonais en passant par l'arabe.

Pour être sûr de l'encodage des caractères de vos pages HTML, vous pouvez vérifier dans les paramètres de configuration de votre éditeur (Dreamweaver, Notepad++, Bluefish, etc.) quel est l'encodage utilisé par défaut. Certains éditeurs affichent également l'encodage d'un fichier ouvert (s'ils parviennent à le déterminer), et permettent d'enregistrer le fichier dans un encodage différent.
ENCODAGE DÉCLARÉ

Une fois que vous connaissez l'encodage utilisé pour vos pages, il faut vous assurer que l'information sera transmise aux navigateurs web. Sans cela, les navigateurs se débrouilleront tout seul, en utilisant par exemple un encodage par défaut, ce qui n'est pas vraiment intéressant : vous n'avez pas envie de vous en remettre à la chance pour décider si votre texte s'affichera correctement ou non, n'est-ce pas ?
Comment est déclaré l'encodage du document ?

Tout d'abord, il doit être déclaré dans les en-tête HTTP envoyés par le serveur avec la page web. Suivant le type de serveur qui héberge vos pages, la procédure pour s'assurer qu'il déclare le bon encodage dans les en-tête HTTP peut changer. On ne détaillera donc pas ici les différentes méthodes pour configurer les informations envoyées par le serveur.

On peut toutefois vérifier quelle information est envoyée par le serveur (surtout si vous soupçonnez un problème d'encodage des caractères) en consultant les en-tête HTTP, par exemple avec l'outil en ligne suivant : http://web-sniffer.net/ (surveiller la ligne « Content-Type » dans le tableau « HTTP Response Header »... si elle ne mentionne aucun « charset », c'est qu'aucun encodage n'est spécifié par le serveur). Voici un exemple de ce que l'on peut obtenir :


Content-Type:	text/html; charset=UTF-8

Dans un deuxième temps, on peut ajouter à chaque page HTML une balise META qui répète l'information donnée par l'en-tête HTTP. Cette balise META est utile pour les utilisateurs qui enregistrent les pages web en local, sur leur ordinateur. Voici à quoi elle ressemble :


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

L'information donnée par la balise META n'est pas prioritaire. C'est celle fournie par le serveur qui aura systématiquement le dessus. MAIS, si jamais le serveur n'envoie aucune information sur l'encodage du document, le navigateur web cherchera l'information dans cette balise META. C'est pourquoi on se contente parfois de préciser l'encodage dans la balise META, sans prendre la peine de configurer le serveur. ATTENTION TOUTEFOIS, cette pratique n'est pas recommandée !

Il suffit que l'information manque dans une seule page pour qu'alors celle-ci ne s'affiche plus correctement ! Mais certains débutants préfèreront peut-être se contenter de spécifier l'encodage dans la balise META, dans un premier temps de leur apprentissage.
4
Utilisateur anonyme
22 août 2009 à 14:57
charset charset et charset !!!!

Tu essayerais pas d'afficher des données codées en UTF-8 avec un charset ISO par hasard ?

On peut avoir le code d'une page ?

0
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
22 août 2009 à 15:15
ok merci j'ai rajouté cette balise :

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

et ai réenregistré mes fichier html dans ce codage
0
Utilisateur anonyme
22 août 2009 à 15:16
Et alors ?? ça fonctionne ?

Si oui, merci de mettre ton sujet en "Résolu" !

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dabigben Messages postés 1914 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 13 octobre 2023 179
22 août 2009 à 15:19
oué ça marche nikel!!!
0