OVH Cloud OVH Cloud

Quel codage ?

64 réponses
Avatar
romer
Hi,

Après qq. surprises dans l'élaboration et le rendu de page web en html,
pourriez-vous me dire quel codage choisir pour avoir le minimum de
surprise lors de la relecture par éditeur de texte et surtout par un
navigateur ?

Par avance merci.

--
A+

Romer

10 réponses

3 4 5 6 7
Avatar
ASM
Thibaut Allender wrote:
On 11/07/2005 15:26, ASM wrote :

AddDefaultCharset UTF-8


et on peut faire çà dans n'importe quel dossier chez n'importe qui ?



à tester, au pire on se paie une erreur 500 :)



Bon ... si on ne risque pas plus
et quid des sous-dossiers ou ceusses latéraux ?



--
Stephane Moriaux et son [moins] vieux Mac
Avatar
Patrick Mevzek
Le Mon, 11 Jul 2005 16:21:05 +0200, ASM a écrit :
Server: Apache
Content-Length: 4513
Connection: close
Content-Type: text/html

et où est le charset envoyé-employé par le serveur ?



Il devrait être dans le Content-Type. Il n'est pas là c'est mal:
1) augmente les risques de vulnérabilité aux attaques XSS
2) rend plus difficile le travail du navigateur
3) continue de propager l'idée que meta c'est là où il faut le mettre,
ce qui est mal en soit.

Pour les documents statiques, c'est le boulot du serveur, à configurer
éventuellement avec AddDefaultCharset & co (puisque c'est Apache dont il
s'agit), donc si le webadmin ne le fait pas, essayez du côté de
.htaccess &co.

Pour les documents dynamiques, c'est le boulot de
l'application (cf header() en PHP ou dans CGI.pm en Perl)


--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Avatar
Patrick Mevzek
Le Mon, 11 Jul 2005 16:26:01 +0200, ASM a écrit :
à tester, au pire on se paie une erreur 500 )



Bon ... si on ne risque pas plus
et quid des sous-dossiers ou ceusses latéraux ?



C'est hierarchique: la portée dans .htaccess est le répertoire où il se
trouve, et tous les sous-répertoires (sauf si un autre .htacces dans un
sous-répertoire fait le contraire, évidemment).

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>
Avatar
jeremie fouché
ASM a écrit :
jeremie fouché wrote:

Bernd a écrit :

Question qui vient alors au néophyte : comment savoir comment un serveur
code les pages qu'il reçoit et quel charset il utilise?



en php, avec phpinfos()



le php n'est pas à disposition de tt un chacun sur tt hébergement



C'est vrai, c'étais juste une possibilité, mais ...

j'ai mis à ma disposition ceci :
http://perso.wanadoo.fr/stephane.moriaux/internet/web_ssi/test_ssi.shtml
où, dans ce bazard, je trouve l'en-tete HHTP du serveur ?



JOKER ;)

En fait, j'ai un doute sur l'info dans le phpinfo. Le plus simple est
plutot d'utiliser 'Page info' dans FF (il me semble que tu l'as depuis
peu). On obtient ISO-8859-1 sur ton site, donc le serveur de ton
hebergeur renvoie ce charset par defaut si tu ne force rien toi même.

--
Jérémie
Avatar
romer
Pierre Goiffon wrote:

> En local ça marche c'est sûr mais quand je vérifie sur d'autres
> navigateur que le mien (Safari) et notamment ceux ou plutôt celui qui
> monopolise et phagocyte les PC, les différences sont parfois bluffantes
> !

Vous ne précisez pas :
- si "en local" signifie depuis le système de fichiers, ou à travers un
serveur installé sur votre poste
si c'est depuis le système de fichiers :
- si votre page contient bien le meta qui va bien
- si vos navigateurs prennent bien en compte ce meta ou pas



ça devient compliqué à faire une capitale accent grave:-)

- en local c'est depuis le système de fichiers
- en meta j'utilise cela :

<!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>
<title>...</title>
<meta http-equiv="Content-Type'" content="text/html;
charset=iso-8859-15"/>

<link href="....css" rel="stylesheet" type="text/css" media="screen"/>

</head>

<body>

</body>
</head>

Mes navigateurs oui : Safari, FireFox, Opera mais le pb vient plus
souvent de IE Mac et PC : j'ai des ¤ en tête des pages !! et comme le
site est pour une asso loi 1901, ça fait plutôt moche...


--
A+

Romer
Avatar
Thibaut Allender
On 11/07/2005 16:26, ASM wrote :
et quid des sous-dossiers ou ceusses latéraux ?



les sous dossiers heritent du htaccess

--
thibaut allender | freelance | http://capsule.org
Avatar
ASM
jeremie fouché wrote:
ASM a écrit :
j'ai mis à ma disposition ceci :
http://perso.wanadoo.fr/stephane.moriaux/internet/web_ssi/test_ssi.shtml
où, dans ce bazard, je trouve l'en-tete HHTP du serveur ?



utiliser 'Page info' dans FF (il me semble que tu l'as depuis
peu). On obtient ISO-8859-1 sur ton site, donc le serveur de ton
hebergeur renvoie ce charset par defaut si tu ne force rien toi même.



page info je l'ai depuis NC4.5 ;-)
et ... oui le charset meta-spécifié de cette page est bien : iso-8859-1
tandis que celle-ci est meta-spécifiée en utf-8
http://perso.wanadoo.fr/stephane.moriaux/truc/bouton_3_etats_css.htm
et a miraculeusement été épargnée par Fetche

J'ai la très nette impression de tourner en rond à la recherche qe qque
chose d'innaccessible.

--
Stephane Moriaux et son [moins] vieux Mac
Avatar
Pierre Goiffon
ASM wrote:
http://www.w3.org/International/resource-index.html#charset



Quand est-ce que tu as le temps de lire tout çà ?



Ces notions de codage et jeux de caractères ne sont pas très
compliquées, indispensables à maitriser dès que l'on fait de la
publication Web, mais... nécessitent de prendre le temps de se
documenter. Et on pourrait dire la même chose du cache.

Disons que beaucoup de concepteurs ne s'en préoccupent pas plus que ça,
on lu quelque part qu'il fallait ajouter un meta machinchose pour que ça
fonctionne, ils ne se posent pas plus de questions, jusqu'au jour ou...
"Et là, c'est le drame"

Bref tout est question de savoir si l'on veut bien faire son travail
quelques part.

Les documents dans cette section du site du W3C sont à mon sens assez
bien rédigés. Ce ne sont pas des spécifs, ce sont des articles ou des
tutoriels.

En plus de ces documents on peut aller sur 2 sites de référence :
http://www.cs.tut.fi/~jkorpela/chars/index.html
http://ppewww.ph.gla.ac.uk/~flavell/charset/

Je suis toujours en train de préparer un document en français mais... le
temps n'est-ce pas...

Ha oui, il y a aussi un article sur OpenWeb sur la question :
http://openweb.eu.org/articles/jeux_caracteres/

Perso, en JS, si je veux des accents, je suis obligé d'utiliser un
artifice du genre :
<a href="javascript:alert('e accent aigu = xe9');">&eacute;</a>
<a href="javascript:alert('e accent grave = xe8');">&egrave;</a>



Je ne vois pas de raison pour le faire. Voici un exemple qui devrait
fonctionner partout :
http://pgoiffon.free.fr/_temp/js_alert.html

Dans les entêtes tu pourras retrouver :
Content-Type: text/html; charset=utf-8
UTF-8 étant bien le codage utilisé pour cette page.

Peut être que des prb spécifiques à Javascript existent, je n'en ai pas
encore entendu parler... (peut être cependant pensais-tu à du code dans
un fichier externe ?)

à mon idée je n'ai aucun texte editeur capable de me montrer le BOM



Un éditeur hexa te permettra dans tous les cas de le voir.
Mais encore une fois, utiliser un BOM en UTF-8 n'a pas vraiment de sens,
et conduit surtout à des prb pour un fichier destiné à être publié sur
le Web.
Avatar
Pierre Goiffon
Bernd wrote:
- en local c'est depuis le système de fichiers
- en meta j'utilise cela :


(...)
<meta http-equiv="Content-Type'" content="text/html;
charset=iso-8859-15"/>



Si c'est par le système de fichier, selon les navigateurs ce sera une
autodétection purement et simplement, ou une autodétection puis
utilisation de ce qui est spécifié en meta.

- Votre page est-elle réellement enregistrée en iso latin-9 (8859-15) ?

- quel est le 1er caractère de la page, provoquant cet affichage du
sigle euro ? (en iso latin-9 le sigle euro est l'octet 0xA4 [1])

- dans IE Windows, le codage utilisé par le navigateur est affiché dans
le menu affichage / codage - qu'en est-il dans votre cas ?

- votre page est-elle en ligne quelques part que l'on voit ça ?


[1] Vu sur http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT
Avatar
Pierre Goiffon
jeremie fouché wrote:
http://perso.wanadoo.fr/stephane.moriaux/internet/web_ssi/test_ssi.shtml



Le plus simple est
plutot d'utiliser 'Page info' dans FF (il me semble que tu l'as depuis
peu). On obtient ISO-8859-1 sur ton site, donc le serveur de ton
hebergeur renvoie ce charset par defaut si tu ne force rien toi même.



Attention : ce qui est indiqué dans "encoding" dans l'onglet general de
page info est le codage que Firefox utilise pour l'affichage.

Si aucune information n'a été fournie correctement par le serveur ou la
page (c'est *très mal* de la part du concepteur) et que l'on est en
auto-detect (voir menu View / character encoding / auto-detect) alors
cela pourra ne pas être le bon. D'ailleurs sur la page de Stéphane,
changer le codage en windows-1252 et vous verrez que l'information
"encoding" dans page info est modifiée en rapport.

Pour être certain des informations que le navigateur peut utiliser,
alors il faut une extension telle Live HTTP Headers. Si on en est équipé
on suit cet ordre dans les vérifications :
- l'entête transmis par le serveur (page info, onglet headers). Dans ce
cas : "Content-Type: text/html"
- le meta contenu dans le page (page info, onglet general, liste des
meta). Ici : "Content-Type: text/html; charset=iso-8859-1"
3 4 5 6 7