[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: conversion UTF-8 vers ISO-8859-1



antoine, lundi 12 mai 2008, 16:26:33 CEST
> 
> > > >   recode u8..h  fichier.html # de UTF-8 à HTML 4.0
> > > >   recode l1..h3 fichier.html # de latin-1 à HTML 3.2
> > > >   recode ..h4   fichier.html # de « locale » vers HTML
> > > > 4.0
> > > Comment savoir si on doit recoder avec :
> > > "u8..h" ,  "l1..h3" , "..h4" ?
> > > ça dépend de l'en-tête du fichier.HTML ?
> >   Si le charset y est indiqué, oui.
> >   Sinon, il faut le retrouver soi-même.
> --------------------------------------------------
> Dans ce type de page .HTML :
> 
> ==============================
> <?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";>
> <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en"
> lang="en">
> <head>
> <meta http-equiv="Content-Type" content="text/html;
> charset=iso-8859-1" />
> ==============================
> 
> Quelle ligne doit être tapée ?

  Ça dépend.

  Le morceau cité est :
— du xml en latin1 (= iso-8859-1) (1re ligne) ;
— du xhtml (lignes 2 et 3), en latin1 (ligne 4).

  Ça tombe bien, les déclarations sont cohérentes.

  Mais ce ne sont que des déclarations. Le fichier peut utiliser
un autre jeu de caractères. Dans ce cas, il faut le retrouver.
file peut aider. emacs aussi (le jeu est indiqué en bas, dans la
barre d’état). Ou alors il faut tenter d’autres jeux que l1 avec
recode.

  Les déclarations indiquent que tous les caractères du charset
latin1 sont valides. Si le fichier n’utilise pas d’autre jeu de
caractères, il n’y a pas vraiment de raison de les transformer en
entités HTML. Toutefois, si on veut le faire, on ferait

  recode l1..h4 fichier.html

pour avoir &eacute; et ses copains, et

  recode l1..h0 fichier.html

pour les avoir en numérique.

> ----------------
> J'ai vu aussi cette ligne :
> recode -d -x l8 ..h4/ fichier.html

  Cette commande :
— recode                            (recode)
— les caractères accentués          (-d)
— de fichier.html                   (fichier.html)
— en entités HTML 4.0               (..h4/)
— depuis le jeu de caractères local ()
— sans utiliser le jeu celtic       (-x l8)

  Lorsque recode cherche un chemin de recodage, il doit parfois
passer par des jeux de caractères intermédiaires. Le '-x l8' lui
indique de ne pas passer par le jeu de caractères celtique
(latin8). Je ne sais pas pourquoi ton exemple évite
particulièrement l8.

-- 
 Sylvain Sauvage


Reply to: