enregistrement d'une page html

Le
docanski
Bonjour la foule,

Il y avait longtemps

Il m'arrive un problème que je ne sais pas résoudre : les textes que
j'enregistre à partir d'un éditeur tel que gedit ou leafpad (éditeurs
Linux !) destinés à afficher des pages html refusent obstinément de le
faire au format prévu par mes en-têtes.
Voici la différence entre le format original et ce qu'il devient une
fois le fichier enregistré et affiché par le navigateur :

Original :

"<p>Pièce maîtresse de l’enceinte médiévale qui enserre la ville, le
château de Dinan est au cœur d’un ambitieux projet mettant en lumière
l’architecture remarquable de cette résidence princière. L’édifice
regroupe trois éléments réunis au XVIème siècle : La tour ducale
construite dans la décennie 1380 et qui rivalise avec le château royal
de Vincennes, la tour Coëtquen édifiée à la fin du XVème siècle et la
porte du guichet (XIIIème siècle). Si la tour Coëtquen offre un bel
exemple des ouvrages défensifs qui caractérisent la fin du Moyen- Âge,
la tour ducale invite à une plongée dans la vie quotidienne et l’art de
vivre à la cour des ducs de Bretagne. Point d'orgue de la défense de la
ville ou plutôt de ses propres occupants, l'ensemble formant le
château de Dinan que sont l'enceinte, le donjon et la tour Coëtquen sont
probablement les éléments les plus
impressionnants de la cité. </p>

Résultat affiché par le navigateur :

"Pièce maîtresse de l’enceinte médiévale qui enserre la ville, le
château de Dinan est au cœur d’un ambitieux projet mettant en
lumière l’architecture remarquable de cette résidence princière.
L’édifice regroupe trois éléments réunis au XVIème siècle : La
tour ducale construite dans la décennie 1380 et qui rivalise avec le
château royal de Vincennes, la tour Coëtquen édifiée à la fin du
XVème siècle et la porte du guichet (XIIIème siècle). Si la tour
Coëtquen offre un bel exemple des ouvrages défensifs qui
caractérisent la fin du Moyen- Âge, la tour ducale invite à une
plongée dans la vie quotidienne et l’art de vivre à la cour des ducs
de Bretagne. Point d'orgue de la défense de la ville ou plutôt de
ses propres occupants, l'ensemble formant le château de Dinan que sont
l'enceinte, le donjon et la tour Coëtquen sont probablement les
éléments les plus impressionnants de la cité.

Le doctype est le suivant :
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

mais même en encoding="iso-UTF-8" il me donne le même résultat.
Et curieusement, en faisant la même manoeuvre avec un éditeur Ouindo$e
par l'intermédiaire de wine (et donc toujours sous Linux), le résultat
est bon.
Une explication, un remède, un patch ou quelque chose dans ce genre ?

Cordialement,
--
docanski

Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Forum boursier : http://docanski.free.fr/boursomania/
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Sergio
Le #26461257
Le 25/01/2018 à 12:31, docanski a écrit :
Le doctype est le suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
... mais même en encoding="iso-UTF-8" il me donne le même résultat.
Et curieusement, en faisant la même manoeuvre avec un éditeur Ouindo$e par l'intermédiaire de wine (et donc toujours sous Linux), le résultat est bon.
Une explication, un remède, un patch ou quelque chose dans ce genre ?

Tu l'affiches comment ? Via un serveur web local (Apache...) ou directement ?
Problème de BOM ? https://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets
--
Serge http://leserged.online.fr/
Mon blog: http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Olivier Miakinen
Le #26461262
Le 25/01/2018 12:31, docanski a écrit :
Il m'arrive un problème que je ne sais pas résoudre : les textes que
j'enregistre à partir d'un éditeur tel que gedit ou leafpad (éditeurs
Linux !) destinés à afficher des pages html refusent obstinément de le
faire au format prévu par mes en-têtes.
Voici la différence entre le format original ... et ce qu'il devient une
fois le fichier enregistré et affiché par le navigateur :
Original :
"<p>Pièce maîtresse de l’enceinte [...]
Résultat affiché par le navigateur :
"Pièce maîtresse de l’enceinte [...]

C'est de l'UTF-8 dans le fichier, qui est interprété comme si c'était
du Latin-1 par le navigateur (et même comme du CP-1252 à cause des
caractères € et ™).
Le doctype est le suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
... mais même en encoding="iso-UTF-8" il me donne le même résultat.

Le charset indiqué dans le fichier lui-même est une chose, mais ce
qu'annonce le serveur web (lorsqu'il annonce quelque chose) prend
le pas sur le contenu du fichier.
Donc regarde la configuration de ton serveur, il doit y avoir un
endroit où il annonce ISO-8859-1 ou Windows-1252, et il faudrait
le changer pour UTF-8.
Et curieusement, en faisant la même manoeuvre avec un éditeur Ouindo$e
par l'intermédiaire de wine (et donc toujours sous Linux), le résultat
est bon.

Là je ne comprends pas ce que tu changes, si c'est la sauvegarde du
fichier (en Latin1 au lieu d'UTF-8), ou bien le serveur HTTP qui sert
cette page (en UTF-8 au lieu de Latin-1). Si tu as un nouveau problème
avec cette méthode, après avoir corrigé le problème initial, il faudra
revenir poser la question en étant plus explicite.
Une explication, un remède, un patch ou quelque chose dans ce genre ?

Oui : configuration du serveur web.
Cordialement,
--
Olivier Miakinen
Olivier Miakinen
Le #26461261
Le 25/01/2018 13:42, Sergio répondait à docanski :
Tu l'affiches comment ? Via un serveur web local (Apache...) ou directement ?

Je parie pour le serveur web, parce que sans cela c'est la déclaration
d'encodage dans le fichier qui serait prise en compte, et changer cette
déclaration *doit* changer l'affichage.
Problème de BOM ? https://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets

Non, c'est exclu. Le problème avec la présence d'un BOM, c'est qu'il
empêche l'envoi d'entêtes dans un script du style PHP ; ça ne peut
pas changer l'affichage des autres caractères par un navigateur web.
--
Olivier Miakinen
Nicolas George
Le #26461264
Olivier Miakinen , dans le message a écrit :
C'est de l'UTF-8 dans le fichier, qui est interprété comme si c'était
du Latin-1 par le navigateur (et même comme du CP-1252 à cause des
caractères € et ™).

Donc en contradiction avec :
... mais même en encoding="iso-UTF-8" il me donne le même résultat.


Je ne crois pas que quiconque reconnaisse « iso-UTF-8 ». Unicode n'est
heureusement pas géré par l'ISO.
Olivier Miakinen
Le #26461267
Le 25/01/2018 14:24, Nicolas George a écrit :
... mais même en encoding="iso-UTF-8" il me donne le même résultat.


Je ne crois pas que quiconque reconnaisse « iso-UTF-8 ». Unicode n'est
heureusement pas géré par l'ISO.

Oh, tu as raison, je n'avais pas vu que docanski avait écrit
« iso-UTF-8 » au lieu d'« UTF-8 » ! ;-)
Alors de deux choses l'une :
- soit c'est juste une coquille dans son article usenet, il y avait
en fait « UTF-8 » lors de son essai, et ma première réponse doit
être la bonne ;
- soit docanski a vraiment essayé « iso-UTF-8 », et alors il est
encore possible que le serveur web n'annonce aucun charset avec
malgré tout le même bug.
--
Olivier Miakinen
docanski
Le #26461272
Olivier Miakinen a écrit le 25/01/18 à 14:30 :
Oh, tu as raison, je n'avais pas vu que docanski avait écrit
« iso-UTF-8 » au lieu d'« UTF-8 » ! ;-)

L'erreur vient de moi : c'était bien UTF-8 tout simplement que j'avais
enregistré
Alors de deux choses l'une :
- soit c'est juste une coquille dans son article usenet, il y avait
en fait « UTF-8 » lors de son essai, et ma première réponse doit
être la bonne ;

Exact
--
docanski
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Forum boursier : http://docanski.free.fr/boursomania/
docanski
Le #26461271
Olivier Miakinen a écrit le 25/01/18 à 14:06 :
C'est de l'UTF-8 dans le fichier, qui est interprété comme si c'était
du Latin-1 par le navigateur (et même comme du CP-1252 à cause des
caractères € et ™).
Le charset indiqué dans le fichier lui-même est une chose, mais ce
qu'annonce le serveur web (lorsqu'il annonce quelque chose) prend
le pas sur le contenu du fichier.
Donc regarde la configuration de ton serveur, il doit y avoir un
endroit où il annonce ISO-8859-1 ou Windows-1252, et il faudrait
le changer pour UTF-8.

En navigation interne (firefox), le fichier enregistré via wine/notepad
s'affiche correctement avec son réglage d'encodage "occidental".
Pour obtenir un résultat identique et donc correctement affiché via le
fichier créé avec debian/gedit, je dois régler l'encodage du même
navigateur en "unicode".
Et toutes les pages du site sont parfaitement affichées avec le réglage
"occidental". Il est vrai qu'elles datent presque toutes de 2005 et
j'utilisais encore Ouindo$e pour certaines tâches à cette époque.
Bizarre, non !?
Et curieusement, en faisant la même manoeuvre avec un éditeur Ouindo$e
par l'intermédiaire de wine (et donc toujours sous Linux), le résultat
est bon.

Là je ne comprends pas ce que tu changes, si c'est la sauvegarde du
fichier (en Latin1 au lieu d'UTF-8)

Ben non, je laisse en paramétrage d'origine qui n'est de toute façon pas
en windows-1252
Oui : configuration du serveur web.

Serveur web externe ? Car je visionne/vérifie en "navigation privée". Je
viens de transférer le fichier sur le serveur free (où est hébergé le
site) et le résultat issu de la page créée par wine/notepad est correct
sur site.
Cordialement,
--
docanski
Guide des champignons d'Europe : http://mycorance.free.fr/
La vallée de la Rance maritime : http://valderance.free.fr/
Les côtes du nord de la Bretagne : http://docarmor.free.fr/
Forum boursier : http://docanski.free.fr/boursomania/
Otomatic
Le #26461284
docanski
Le doctype est le suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Ce n'est pas la déclaration du charset dans le doctype (ou dans les
déclaration <meta) qui effectuera le transcodage éventuel du fichier
envoyé.
Et il faut regarder aussi quelle est l'entête (header) envoyée par le
serveur ; elle est prioritaire sur l'entête du doctype
--
Ce n'est pas parce qu'ils sont nombreux à avoir tort
qu'ils ont forcément raison. Coluche
Otomatic
Le #26461283
docanski
Je
viens de transférer le fichier sur le serveur free (où est hébergé le
site) et le résultat issu de la page créée par wine/notepad est correct
sur site.

Chez Free, l'entête (header) de déclaration du charset va dépendre de la
version PHP utilisée.
Avant PHP 5.6, c'est iso-8859-1 et avec PHP 5.6, c'est utf-8.
--
Un ordinateur résout des problèmes que nous n'aurions pas sans lui
Technique aéronautique : http://aviatechno.net
Jo Engo
Le #26463564
Le Thu, 25 Jan 2018 12:31:38 +0100, docanski a écrit :

avec utf8 au lieu de iso-8859-1, ça n'irait pas un peu mieux ?

--
VIEIL ADAGE
P : La masturbation rend sourd celui qui la pratique !
M : C'est çaaaah... Et ça rend aveugle celui qui ne la pratique pas...
Publicité
Poster une réponse
Anonyme