1633 sujets
Formats, encodage, internationalisation, XML
Gectou4 a écrit :
Plop !
Question...
Pour encodé les carachtère accentué on peut utilisé deux méthode :
é et Ă donnera é
En utf-8 Ă est-il a privilégier ?
(Puisque issue de la table UTF-8...)
Lol j'adore cette question. Ça me rappelle mon prof qui me soutenait mordicus qu'il fallait absolument encoder les caractères spéciaux avec des entités HTML (en fait non, deux profs coup sur coup me l'ont soutenu). Bien entendu, il avait tort, car moi j'ai toujours raison.
Si ta page est enregistrée en UTF-8 et déclarée en UTF-8, tu encodes ton "é" avec le caractère "é", tout simplement.
Même chose en ISO-8859-1, d'ailleurs.
Je te laisse vérifier la page sur ISO-8859-1 et la page sur UTF-8 sur Wikipédia FR. J'ai pas les liens sous la main, mais ça devrait se trouver sans peine.
Ça prendra un peu de temps à lire, mais quand on a compris ça on est tout de suite beaucoup moins bête face à un problème d'encodage.
Bonne lecture.
PS : ce forum est en ISO-8859-1. Je te laisse jeter un coup d'œil au code de mon message ou du tiens, pour voir comment sont encodés les caractères spéciaux.
Modifié par mpop (22 May 2006 - 16:59)
Gectou4 a écrit :
sauf que taratata le w3c me refuse de même que opera le caractère é si ma page est UTF-8... (xml/xhtml1.1)
C'est une page web ? Pour des navigateurs web actuels, ce qui inclue Internet Explorer 6 et le futur Internet Explorer 7 ? Alors laisse tomber le XHTML 1.1 et passe au XHTML 1.0 servi en html. Sinon, tout va foutre le camp dans IE (et peut-être quelques autres, je sais plus…).
Ah oui, et en XHTML 1.0 servi en mode html, pas de prologue XML. Juste un doctype.
Sinon, ça m'étonne ton histoire. Bon, déjà les validateurs ils ont pas la science infuse. Ensuite, ça vient peut-être du fait que tu n'as pas de déclaration d'encodage dans ton prologue XML (vu que pour du XHTML 1.1, tu utilises forcément un prologue XML).
Je maintiens que la transcription des caractères spéciaux en entités HTML est une chose du passé. Cf tous les sites modernes, dont le mien au passage. Ça marche comme sur des roulettes.
Au fait, tu aurais une page en ligne pour qu'on voie ce que ça donne ?
Gectou4 a écrit :
taratata : si browser = IE => DTD = xHTML1.0 Strict
else => DTD = xHTML1.1
Faut vraiment aimer s'emmerder dans la vie…
a écrit :
En utf-8 Ă est-il a privilégier ?
(Puisque issue de la table UTF-8...)
Réponse courte : non. Réponse longue : non.
N'empêche je serais curieux de voir une page qui valide pas sur ces histoires d'encodage. Ou alors c'est le validateur qui déconne, ce qui est loin d'être exclu.
Et je rajouterais que :
http://www.blog-and-blues.org/weblog/2004/06/11/243-xhtml11-beaucoup-de-bruit-pour-rien
Modifié par mpop (24 May 2006 - 01:18)
http://www.blog-and-blues.org/weblog/2004/06/11/243-xhtml11-beaucoup-de-bruit-pour-rien
Laurent Denis a écrit :
Déclarer correctement du XHTML1.1 est donc plutôt contraignant :
* Il faut faire de la négociation de contenu au niveau serveur pour n'envoyer du XHTML1.1 en application/xhtml+xml qu'aux navigateurs qui déclarent le supporter, et du XHTML1.0 en text/html aux autres
* Les règles de compatibilités XHTML1.0-HTML doivent être appliquées lorsque le document est envoyé en tant que text/html, ce qui nécessite quelques adaptations du code XHTML1.1 ;
* Pas de droit à l'erreur en application/xhtml+xml sous peine de voir le navigateur se fâcher.
Modifié par mpop (24 May 2006 - 01:18)
djfeat a écrit :
mpop voulait dire "en-têtes HTTP" bien sûr.
oui
Mes en-tête sont définies par PHP:
if(stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml")){
header("Content-Type: application/xhtml+xml; charset=UTF-8");
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">';
} else {
header("Content-Type: text/html; charset=UTF-8");
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">';
}
Tout simplement,
il est à noté que si un caractère ou une balise est impropre à la syntaxe émise opera propose de reformater la page reçue en HTML.
ça à au moins l'avantage de bien nou smontré nos erreurs.