deviner le charset d'un fichier html local
Le
pere.noel
j'ai une petite appli qui transforme des fichiers html locaux :
html -> xhtml -> ajout d'un menu -> publication (en xhtml mais avec
l'extension html.
bon, la conversion html -> xhtml se fait par tidy, à qui je dois donner
le charset entrant (en sortie je bascule tout en UTF-8)
là j'ai un problème de détection, je vien de faire un petit script ruby
qui détecte le charset, résultat des courses : 10 fichiers sur 26 n'ont
pas défini le charset dans une balise meta.
sur "fr.comp.infosystemes.www.auteurs" "on" me dit que cette balise
n'est qu'un pis-aller.
qu'il faut utiliser l'en-tête HTTP, ce qui n'est pas possible dans mon
cas vu que les fichiers sont locaux, sauvegardés dans un répertoire
perso je pense attribuer "US-ASCII" à tous les fichiers qui ne déclarent
pas leur charset, par ce que c'est mieux que rien.
notes que je converti tout en UTF-8 pparce que j'ajoute de l'UTF-8 à la
page en question.
pensez-vous que ce soit uen bonne idée ???
savez vous qqc sur l'autodéttection du charset par les navigateurs ?
--
une bévue
html -> xhtml -> ajout d'un menu -> publication (en xhtml mais avec
l'extension html.
bon, la conversion html -> xhtml se fait par tidy, à qui je dois donner
le charset entrant (en sortie je bascule tout en UTF-8)
là j'ai un problème de détection, je vien de faire un petit script ruby
qui détecte le charset, résultat des courses : 10 fichiers sur 26 n'ont
pas défini le charset dans une balise meta.
sur "fr.comp.infosystemes.www.auteurs" "on" me dit que cette balise
n'est qu'un pis-aller.
qu'il faut utiliser l'en-tête HTTP, ce qui n'est pas possible dans mon
cas vu que les fichiers sont locaux, sauvegardés dans un répertoire
perso je pense attribuer "US-ASCII" à tous les fichiers qui ne déclarent
pas leur charset, par ce que c'est mieux que rien.
notes que je converti tout en UTF-8 pparce que j'ajoute de l'UTF-8 à la
page en question.
pensez-vous que ce soit uen bonne idée ???
savez vous qqc sur l'autodéttection du charset par les navigateurs ?
--
une bévue

Poser une question


As-tu testé la commande file(1) ?
LaP
ben non, bonne idée, ça doit-être plus effeicace que mon script ???
alors si je regarde une de celle qui n'a pas le charset inclu :
une de celles dont je connais le charset, par mon script :
(avec l'option -i ou --mime ça ne donne pas + le charset contrairement à
ce que prétend le man...)
mais bon, je n'ai eu qu'un coup d'oeil rapide au man qui parle bien de
la détection du charset et même du langage...
merci pour l'info !
--
une bévue
Ça ne répond pas à ta question, mais pour régler cet histoire
d'encodage, je n'utilise que des entités HTML : aucun accent ou autre
caractère spécifique. Comme ça, je n'ai jamais de problèmes :)
--
Eric Jacoboni, ne il y a 1445970928 secondes
Ah, mais je tape sans souci : avec les accents et tout le toutim... Je
fais simplement une passe de conversion du fichier avant de le mettre
en ligne, c'est tout.
--
Eric Jacoboni, ne il y a 1445971443 secondes
ouiais, ok, mais les entités il faut les déclarer, parce que je mouline
coome ça :
html -- (via tidy) -> xhtml
xhtml -- (via xsltproc pour ajout d'un menu en utf-8) --> xhtml
mais bon, c'est une idée de passer par des entités, encore faut-il que
je file à tidy le bon charset, car c'est lui quiva faire la conversion
char value sup à 127 -> entité.
le fichier original je n'en suis pas maître, sinon j'aurais réglè ça par
de l'utf-8 ;-)
--
une bévue