Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

utf-8

18 réponses
Avatar
Thomas
bonjour :-)


je m'apprête à passer http://biocer.fr/ en utf-8

si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
<?xml version="1.0" encoding="macintosh"?>
mais il faut que je la supprime
(je sais plus pour quelle raison)

c'est bien ça ?

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/

10 réponses

1 2
Avatar
Olivier
Le 10.08.2008 05:13, Thomas a écrit :
je m'apprête à passer http://biocer.fr/ en utf-8

si je me souviens bien, il ne faut pas que je transforme la 1ere
ligne : <?xml version="1.0" encoding="macintosh"?> mais il faut que
je la supprime (je sais plus pour quelle raison)



Tu passes la première ligne en :
<?xml version="1.0" encoding="utf-8"?>

Tu peux effectivement la supprimer mais ce sera alors pour d'autres
raisons que le changement d'encodage.

Cette ligne vaut si tu envoies les pages en "application/xhtml+xml".
Ce qui pose un problème aux navigateurs qui le comprennent pas.
En gros les IE qui ne pourront pas l'afficher...

La ligne "<?xml...>" faisant passer les IE en mode quirk si tu envoies
les pages en "text/html", il faudra aussi l'enlever dans ce cas là.

Pour résumer, le "xhtml", le "application/xhtml+xml", la ligne
<?xml version="1.0" encoding="utf-8"?> ne sont /éventuellement/ utiles
que si l'on sait *exactement* ce que l'on fait.

C'est un sujet récurent du groupe, que tu lis régulièrement... je ne
dis pas que tu devrais déjà être au courant. Mais un peu quand même.
;)

--
Olivier

<http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html>
Avatar
TJ
On 2008-08-10, Thomas wrote:
bonjour :-)



Bonjour,

je m'apprête à passer http://biocer.fr/ en utf-8

si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
<?xml version="1.0" encoding="macintosh"?>
mais il faut que je la supprime
(je sais plus pour quelle raison)

c'est bien ça ?



Lors de la réponse que je t'ai faite au sujet de tes 406 j'ai remarqué
le détail suivant :

$ curl -I http://biocer.fr/
HTTP/1.1 200 OK
Date: Mon, 11 Aug 2008 09:45:35 GMT
Server: Apache/1.3.41 (Darwin)
Content-Location: index.fr.html
Vary: negotiate
TCN: choice
Last-Modified: Thu, 19 Jun 2008 12:11:51 GMT
ETag: "10f2a5-1ae8-485a4d07;48949b61"
Accept-Ranges: bytes
Content-Length: 6888
Content-Type: text/html; charset=macintosh
Content-Language: fr

Note le header Content-Type:, à moins que ton serveur (ou ton site ou
autre) ne détermine et envoie automagiquement le charset, je suppose que
tu as cette valeur quelque part en dur dans la conf, il faudra aussi la
changer.

Note aussi que je parle seulement du charset, pour le Content-Type:
Olivier t'a déjà répondu sur les bonnes valeurs à y placer en fonction
de ce que tu désires ;-)
Avatar
Pierre Goiffon
Thomas wrote:
je m'apprête à passer http://biocer.fr/ en utf-8

si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
<?xml version="1.0" encoding="macintosh"?>
mais il faut que je la supprime
(je sais plus pour quelle raison)



Il y a plusieurs aspects dans votre question... et Olivier et TJ ont
déjà donné des éléments de réponse.

D'abord, on souligne que pour "passer en UTF-8" il faut que chaque page
soit ré-enregistrée en utilisant ce codage (et pour un site dynamique,
faire attention aux contenus provenant de fichiers, de bases de données,
...)

Ensuite, il faut préciser aux navigateurs quel codage utiliser pour lire
les pages.
Pour cela la meilleure chose est de le faire dans l'entête HTTP, voir la
réponse de TJ et mon article :
http://pgoiffon.free.fr/info/i18n/web-charset_html.php

Enfin, la ligne que vous indiquez est le prologue XML. Il peut être
indiqué si vous utilisez XHTML, ce que je vous déconseille très
fortement (voir http://pgoiffon.free.fr/info/inet/html_ou_xhtml.php)
Il est cependant sans doute trop tard pour revenir sur votre choix...
Dans tous les cas, comme le dis Olivier, la présence de ce prologue
provoque le basculement d'Internet Explorer vers le mauvais mode de
rendu (quirks) et cela provoquera donc de gros soucis avec vos CSS !
Avatar
Thomas
In article <g7p207$56c$, TJ <tj+
wrote:

On 2008-08-10, Thomas wrote:
> bonjour :-)

Bonjour,

> je m'apprête à passer http://biocer.fr/ en utf-8
>
> si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
><?xml version="1.0" encoding="macintosh"?>
> mais il faut que je la supprime
> (je sais plus pour quelle raison)
>
> c'est bien ça ?

Lors de la réponse que je t'ai faite au sujet de tes 406 j'ai remarqué
le détail suivant :

$ curl -I http://biocer.fr/
Content-Type: text/html; charset=macintosh

Note le header Content-Type:, à moins que ton serveur (ou ton site ou
autre) ne détermine et envoie automagiquement le charset, je suppose que
tu as cette valeur quelque part en dur dans la conf, il faudra aussi la
changer.



j'ai "AddDefaultCharset macintosh"

j'avais ça en tête, et j'ai pas posé de question dessus parce que je
sais ce qu'il faut faire :
"AddDefaultCharset utf-8"

mais puisque t'en parles, peux tu me confirmer que je ne me trompe pas
stp ? :-)
j'ai tjr peur de me tromper d'un rien, par exemple pour la casse, pour
un tiret, ... (je crois que la casse n'a pas d'importance, c'est ça ?)

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Avatar
Thomas
In article <48a02958$0$32220$,
Pierre Goiffon wrote:

Thomas wrote:
> je m'apprête à passer http://biocer.fr/ en utf-8
>
> si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
> <?xml version="1.0" encoding="macintosh"?>
> mais il faut que je la supprime
> (je sais plus pour quelle raison)

Il y a plusieurs aspects dans votre question... et Olivier et TJ ont
déjà donné des éléments de réponse.



merci à vous tous :-)


D'abord, on souligne que pour "passer en UTF-8" il faut que chaque page
soit ré-enregistrée en utilisant ce codage



j'avais pas oublié


Ensuite, il faut préciser aux navigateurs quel codage utiliser pour lire
les pages.
Pour cela la meilleure chose est de le faire dans l'entête HTTP



non plus (voir réponse à TJ)


Enfin, la ligne que vous indiquez est le prologue XML. Il peut être
indiqué si vous utilisez XHTML, ce que je vous déconseille très
fortement (voir http://pgoiffon.free.fr/info/inet/html_ou_xhtml.php)



(merci pour tes liens, j'avais deja tout lu mais ça me permet de bien me
rappeler un certain nb de choses importantes :-) )

Il est cependant sans doute trop tard pour revenir sur votre choix...



hein ?
mais je veux pas passer à xhtml, je veux passer à utf-8 :-/

Dans tous les cas, comme le dis Olivier, la présence de ce prologue
provoque le basculement d'Internet Explorer vers le mauvais mode de
rendu (quirks) et cela provoquera donc de gros soucis avec vos CSS !



le plus important c'est que ça soit lisible :-]

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Avatar
Thomas
In article <489ea796$0$1140$,
Olivier wrote:

Le 10.08.2008 05:13, Thomas a écrit :
> je m'apprête à passer http://biocer.fr/ en utf-8
>
> si je me souviens bien, il ne faut pas que je transforme la 1ere
> ligne : <?xml version="1.0" encoding="macintosh"?> mais il faut que
> je la supprime (je sais plus pour quelle raison)

Tu passes la première ligne en :
<?xml version="1.0" encoding="utf-8"?>

Tu peux effectivement la supprimer mais ce sera alors pour d'autres
raisons que le changement d'encodage.



l'idée c'est que je veux bien faire des efforts pour IE,
à condition que le rapport "amélioration dans IE / décalage par rapport
aux standards ou ce qui s'en rapproche" soit (très) grand :-)


Cette ligne vaut si tu envoies les pages en "application/xhtml+xml".
Ce qui pose un problème aux navigateurs qui le comprennent pas.
En gros les IE qui ne pourront pas l'afficher...



"application/xhtml+xml" ça ne rend pas IE bancal, ça le met complètement
par terre, c'est bien ça ?
donc je suis obligé de mettre "text/html"


La ligne "<?xml...>" faisant passer les IE en mode quirk si tu envoies
les pages en "text/html", il faudra aussi l'enlever dans ce cas là.



avec encoding="macintosh",
sans le prologue XML, si qqn enregistrait une page telle quelle dans un
fichier, les logiciels suivants n'auraient plus eu de moyen de savoir
quel était l'encodage
avec encoding="utf-8",
sans le prologue XML, c'est pareil qu'avec, puisque la norme xml dit que
quand il n'y a pas de prologue la valeur par défaut est "utf-8"

tout ça c'est d'après mes souvenirs, est ce que je me trompe ?

si non, ça veut dire que je peux améliorer un peu dans IE sans rien
"perdre" du tout (par rapport à "ce qu'il faut faire", tout ça ...),
donc pourquoi ne pas le faire ? :-)



Pour résumer, le "xhtml", le "application/xhtml+xml", la ligne
<?xml version="1.0" encoding="utf-8"?> ne sont /éventuellement/ utiles
que si l'on sait *exactement* ce que l'on fait.



voilà, c'est pour ça que je me renseigne :-)


C'est un sujet récurent du groupe, que tu lis régulièrement... je ne
dis pas que tu devrais déjà être au courant. Mais un peu quand même.
;)



j'ai eu d'autres occupations pendant un moment ...
alors j'ai été bien au courant de tout ça à un moment, mais j'ai pu
oublier des trucs ...

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Avatar
TJ
On 2008-08-11, Thomas wrote:
In article <g7p207$56c$, TJ <tj+
wrote:

On 2008-08-10, Thomas wrote:
> bonjour :-)

Bonjour,

> je m'apprête à passer http://biocer.fr/ en utf-8
>
> si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
><?xml version="1.0" encoding="macintosh"?>
> mais il faut que je la supprime
> (je sais plus pour quelle raison)
>
> c'est bien ça ?

Lors de la réponse que je t'ai faite au sujet de tes 406 j'ai remarqué
le détail suivant :

$ curl -I http://biocer.fr/
Content-Type: text/html; charset=macintosh

Note le header Content-Type:, à moins que ton serveur (ou ton site ou
autre) ne détermine et envoie automagiquement le charset, je suppose que
tu as cette valeur quelque part en dur dans la conf, il faudra aussi la
changer.



j'ai "AddDefaultCharset macintosh"

j'avais ça en tête, et j'ai pas posé de question dessus parce que je
sais ce qu'il faut faire :
"AddDefaultCharset utf-8"

mais puisque t'en parles, peux tu me confirmer que je ne me trompe pas
stp ? :-)



Ça me semble bon !

j'ai tjr peur de me tromper d'un rien, par exemple pour la casse, pour
un tiret, ... (je crois que la casse n'a pas d'importance, c'est ça ?)



L'idéal c'est de trouver le texte de référence je dirai (RFC, W3C…) et
après de vérifier par la pratique et les tests que personne n'a de
soucis avec la théorie (IE au hasard), après on avise.

Concernant ce cas précis je n'ai pas vérifié ce que dit la RFC, mais
dans la pratique on rencontre tous les cas de casse, et ça ne semble
poser problème à personne.
Avatar
Pierre Goiffon
Thomas wrote:
je m'apprête à passer http://biocer.fr/ en utf-8

si je me souviens bien, il ne faut pas que je transforme la 1ere ligne :
<?xml version="1.0" encoding="macintosh"?>






(...)
Enfin, la ligne que vous indiquez est le prologue XML. Il peut être
indiqué si vous utilisez XHTML, ce que je vous déconseille très
fortement (voir http://pgoiffon.free.fr/info/inet/html_ou_xhtml.php)




(...)
Il est cependant sans doute trop tard pour revenir sur votre choix...



hein ?
mais je veux pas passer à xhtml, je veux passer à utf-8 :-/



Vos pages sont visiblement déjà en XHTML de ce que je vois sur biocer.fr
(doctype + syntaxe)
Avatar
Pierre Goiffon
Thomas wrote:
j'ai "AddDefaultCharset macintosh"

j'avais ça en tête, et j'ai pas posé de question dessus parce que je
sais ce qu'il faut faire :
"AddDefaultCharset utf-8"

mais puisque t'en parles, peux tu me confirmer que je ne me trompe pas
stp ? :-)



Sur Apache, c'est en effet la bonne directive.

L'un des 2 articles que je vous avais donné un lien contenait une
référence vers quelques articles de la zone internationalisation du W3C,
dont celui-ci indiquant des méthodes pour paramétrer différents
environnements :
http://www.w3.org/International/O-HTTP-charset
Avatar
Pierre Goiffon
Thomas wrote:
je m'apprête à passer http://biocer.fr/ en utf-8

si je me souviens bien, il ne faut pas que je transforme la 1ere
ligne : <?xml version="1.0" encoding="macintosh"?> mais il faut que
je la supprime (je sais plus pour quelle raison)


Tu passes la première ligne en :
<?xml version="1.0" encoding="utf-8"?>

Tu peux effectivement la supprimer mais ce sera alors pour d'autres
raisons que le changement d'encodage.



l'idée c'est que je veux bien faire des efforts pour IE,
à condition que le rapport "amélioration dans IE / décalage par rapport
aux standards ou ce qui s'en rapproche" soit (très) grand :-)

Cette ligne vaut si tu envoies les pages en "application/xhtml+xml".




(...)
"application/xhtml+xml" ça ne rend pas IE bancal, ça le met complètement
par terre, c'est bien ça ?
donc je suis obligé de mettre "text/html"



Utiliser XHTML sur le Web (et donc avec des Internet Explorer en face)
impose un très grand nombre de contraintes dont :
- pas de prologue XML si l'on veut rester en mode de rendu standard
- servir les pages avec un type text/html et non application/xml+xhtml

Toutes ces contraintes sont listées dans l'article que je vous donnais
en référence dans ma 1ere réponse. Pour mémoire :
http://pgoiffon.free.fr/info/inet/html_ou_xhtml.php


sans le prologue XML, si qqn enregistrait une page telle quelle dans un
fichier, les logiciels suivants n'auraient plus eu de moyen de savoir
quel était l'encodage
avec encoding="utf-8",
sans le prologue XML, c'est pareil qu'avec, puisque la norme xml dit que
quand il n'y a pas de prologue la valeur par défaut est "utf-8"

tout ça c'est d'après mes souvenirs, est ce que je me trompe ?



Vos propos sont un peu flous, est-ce que vous voulez bien parler du cas
où l'on enregistre une page sur un système de fichier, puis qu'on ouvre
après cette page toujours en passant par le système de fichier ? Dans ce
cas oui, on n'a plus d'information de codage, et le navigateur n'aura
d'autre choix que de lancer son mécanisme d'auto-détection du codage, en
s'aidant de la balise meta ou du prologue xml si présents.

Dans le cas particulier du XHTML, je ne suis pas très sûr de ce qui va
se passer. La recommandation indique explicitement (une information qui
était présente aussi dans l'article que je vous avais indiqué et dont
j'ai rappelé l'url ci-dessus...) que pour une page XHTML servie en
text/html il faut conserver l'information de codage dans le meta ET dans
le prologue XML, et je ne saurais dire quels navigateurs vont lire
quelle information. Je suppose que les navigateurs ne sachant pas lire
des pages servies en application/xml+xhtml iront voir le meta, et les
autres le prologue XML ?
1 2