Les caractères : Encoder ou non ?

Nouveau WRInaute
Bonjour à tous,

J'ai de faire un site qui respecte les normes xHtml mais je me pose une question quant à l'encodage des caractères spéciaux.

Par exemple, il est mieux d'encoder les "é" en "é" ou faut-il les laisser tel quels ?

Merci à vous ?
 
WRInaute accro
Bonjour,

Sans hésitation il faut les encoder.

Une raison parmi d'autres, MSN search renvoit un i quand é n'est pas encodé en é.

@+
 
WRInaute discret
Il vaut mieux encoder pour être sûr que tous les navigateurs de tous les visiteurs lisent bien.

Le validateur du w3 ne s'occupent pas de ça ( ou ne le voit pas )

Après c'est une question de confort d'édition : je n'encode pas car je passe par un bloc note mais si ça ne te dérange pas fais le.

serval2a a dit:
MSN search renvoit un i quand é n'est pas encodé en é.
8O
T'as un exemple ? moi j'ai un contre exemple....
 
Nouveau WRInaute
D'accord, je vais les encoder alors !

Question bête : Les " ' " il faut les encoder en "'" aussi alors ?
 
WRInaute accro
serval2a a dit:
Sans hésitation il faut les encoder.
Une raison parmi d'autres, MSN search renvoit un i quand é n'est pas encodé en é
pas vraiment, je viens d'essayer avec mon site et MSN, ainsi que yahoo et google affichent bien ces caractères. Mais il faut, évidemment, lui indiquer les bons en-têtes ainsi qu'ajouter les meta correspondant au code page utilisé.
Par contre, les &, les oe, les ... doivent entre autres être encodés
 
WRInaute accro
bah, j'ai ça sur mes pages :
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META http-equiv="Content-Language" CONTENT="fr">
Et ça ne m'a pas empêché d'avoir des problèmes avec le non encodage de mes balises meta.
 
WRInaute passionné
Il faut aussi ne pas oublier de mettre le meta : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> avant la balise title pour éviter les problèmes.
 
WRInaute discret
Tiens oui c'est curieux...

Mon contre exemple c'est tout simplement mon site dans lequel je n'ai pas encodé les accents. Et je connais un autre site qui utilise le "é" dans sa description qui n'a pas ce bug...
Affaire à suivre...
 
WRInaute accro
rottman a dit:
Il faut aussi ne pas oublier de mettre le meta : <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> avant la balise title pour éviter les problèmes.

C'est le cas pour la page de mon site.
 
WRInaute accro
Bonjour serval2a,

Dans la cache de MSN Search, la META description contient :

<META NAME="Description" CONTENT="Chaque 18 mars, la population d'Ajaccio commimore les voeux des magnifiques anciens en reconnaissance ` la Madonuccia qui a sauvi Ajaccio de la peste">

Jean-Luc
 
WRInaute discret
Seulement la balise <title>

Je crois qu'il est important d'encoder seulement la balise <title>, car certain navigateur ne sont pas capable d'afficher les caractères spéciaux de la barre de titre s'ils ne sont pas encodés.

Je n'est jamais trouvé un autre problème due au non encodage.
 
WRInaute accro
Salut Jean-Luc
C'est bien ce que j'avais constaté les balises meta description et keyword qui n'ont pas les caratères accentuées inscrits sous leur équivalant html sont mal interprétées par MSN search.

C'est d'ailleurs pour ça que sur mon dernier site (lancé aujourd'hui et destiné aux webmaster débutants) j'ai créé un générateur de balises meta qui les codes automatiquement. ;)
Pour ceux qui seraient intéressés :
-http://outils.enaty.com/outils/generateur-meta-tag.php

Demain dans la journée je mettrais également un outils pour ceux qui comme Ouarjiv codent avec le bloc note.
 
WRInaute accro
Re: Seulement la balise <title>

ptitcastor a dit:
Je crois qu'il est important d'encoder seulement la balise <title>

Le problème se pose parfois quand on soumet un site sur un annuaire myphpannuaire version rewrite qui récupère les balises meta. Les caractères accentués sont remplacés par des ?.
 
WRInaute accro
Intéressant.

Alors que chez Google, l'encodage de la cache est l'encodage indiqué dans la page, chez MSN Search, par contre, toutes les pages en cache sont réencodées en UTF-8, même si, au départ, elles sont en ISO-8859-1. Ton problème d'affichage provient peut-être d'un bug momentané de l'algo de conversion utilisé par MSN Search.

Soit dit en passant, cela veut aussi dire que la plupart des pages en cache de MSN Search contiennent deux META "Content-Type" contradictoires. :roll:

Jean-Luc
 
WRInaute accro
Oui celui du cadre de cache et celui de la page mise en cache.
Par conte je penche plus pour un problème de codage inhérent à MSN que pour un bug passager. 9a fait depuis le lancement de Corsica news que ça fait ça.
Pour la précision, le site a depuis été recodé (sauf toutes les balises meta qui ont été récupérées lors du changement de logiciel).
 
WRInaute discret
Re: Seulement la balise <title>

serval2a a dit:
ptitcastor a dit:
Je crois qu'il est important d'encoder seulement la balise <title>

Le problème se pose parfois quand on soumet un site sur un annuaire myphpannuaire version rewrite qui récupère les balises meta. Les caractères accentués sont remplacés par des ?.

Plutôt rare, probablement de vielles versions mal faites, ici un exemple qui fonctionne bien : http://www.auto-selection.com/annu/subm ... n=meta_get

C'est à eux de s'ajuster, pas de temps à perdre avec ces annuaires mal programmé, probablement sans lien en dur!
 
WRInaute discret
Salut,

A propos d'encodage, sur mon site, j'ai beau utiliser htmlentities ou htmlspecialchars, mais les é restent é et pas &eacute; est-ce que quelqu'un sait comment les transformer (ou si la fonction PHP n'existe pas, est-ce que quelqu'un s'est déjà fait un script?)

Merci
 
WRInaute discret
Code:
$accents=array("é"=>"&eacute;","è"=>"&egrave;","ê"=>"&ecirc;","à"=>"&agrave;","î"=>"&icirc;","ç"=>"&ccedil;","ù"=>"&ugrave;");
$montexte=strtr($montexte, $accents);

Ca va "nettoyer" les accents de ton texte ^^
 
Discussions similaires
Haut