لم تعُد "مجموعات Google" تتيح المشاركات أو الاشتراكات الجديدة من Usenet. وسيبقى بالإمكان عرض المحتوى السابق.

obtenir l'encodage d'un fichier css

مرّة مشاهدة واحدة
التخطي إلى أول رسالة غير مقروءة

Une Bévue

غير مقروءة،
29‏/09‏/2012، 3:20:14 ص29‏/9‏/2012
إلى
j'ai besoin d'obtenir l'encodage d'un fichier css, par programme et donc
"a priori".

par exemple celui-ci :
http://www.certiferme.com/commun.css

si je regarde avec lynx :
$ lynx -head -dump http://www.certiferme.com/commun.css
HTTP/1.1 200 OK
Date: Sat, 29 Sep 2012 07:05:00 GMT
Server: Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch
Last-Modified: Thu, 26 Apr 2012 14:59:35 GMT
ETag: "7e0224-1d3b7-4be963c6d23c0"
Accept-Ranges: bytes
Content-Length: 119735
Connection: close
Content-Type: text/css

l'encodage n'est pas donné, si j'ouvre ce fichier avec TextWrangler (sur
Mac OS X Lion) ça me donne "Western (Mac OS X Roman)"
et les retours chariot étant en "Windows (CRLF)".

j'ai besoin de connaître l'encodage de ce fichier pour le transcoder en
UTF-8, car je recherche systématiquement dans les fichiers css les
"@import url" afin de les importer localement.

donc, comment obtenir cet encodage ?

Sergio

غير مقروءة،
29‏/09‏/2012، 3:30:19 ص29‏/9‏/2012
إلى
Le Sat, 29 Sep 2012 09:20:14 +0200, Une Bévue a écrit :

> j'ai besoin d'obtenir l'encodage d'un fichier css, par programme et donc
> "a priori".
>
> par exemple celui-ci :
> http://www.certiferme.com/commun.css

En général, sauf tours vicieux, un fichier css est de l'ASCII pur (pas de
caractères accentués ou étrangers).

> si je regarde avec lynx :
> l'encodage n'est pas donné, si j'ouvre ce fichier avec TextWrangler (sur
> Mac OS X Lion) ça me donne "Western (Mac OS X Roman)"
> et les retours chariot étant en "Windows (CRLF)".

Je suppose que "TextWrangler" prend son encodage par défaut (celui du
Mac). Mon Firefox donne "ISO-8859-1" (son encodage par défaut ?).

> j'ai besoin de connaître l'encodage de ce fichier pour le transcoder en
> UTF-8, car je recherche systématiquement dans les fichiers css les
> "@import url" afin de les importer localement.

Un transcodage "UTF-8" donnera la même chose, AMHA...
تم حذف الرسالة.

M.H

غير مقروءة،
29‏/09‏/2012، 4:15:33 ص29‏/9‏/2012
إلى
yamo' a écrit :
> Salut,
>
> Une Bévue a tapoté, le 29/09/2012 09:20:
>> par exemple celui-ci :
>> http://www.certiferme.com/commun.css
>
> Seamonkey, en faisant "Control i" me dit : ISO-8859-1
>
Ben moi il me donne windows-1252 !

--
M.H.



Une Bévue

غير مقروءة،
29‏/09‏/2012، 4:41:55 ص29‏/9‏/2012
إلى
Le 29/09/12 09:30, Sergio a écrit :
>> >j'ai besoin d'obtenir l'encodage d'un fichier css, par programme et donc
>> >"a priori".
>> >
>> >par exemple celui-ci :
>> >http://www.certiferme.com/commun.css
> En général, sauf tours vicieux, un fichier css est de l'ASCII pur (pas de
> caractères accentués ou étrangers).

ben oui, c'est bien ce que je pense MAIS, ruby me dit le contraire, ce
n'est pas de l'ascii, d'ailleurs, le caractère @ existe t'il en ascii ?

>> >si je regarde avec lynx :
>> >l'encodage n'est pas donné, si j'ouvre ce fichier avec TextWrangler (sur
>> >Mac OS X Lion) ça me donne "Western (Mac OS X Roman)"
>> >et les retours chariot étant en "Windows (CRLF)".
> Je suppose que "TextWrangler" prend son encodage par défaut (celui du
> Mac). Mon Firefox donne "ISO-8859-1" (son encodage par défaut ?).

ben il devrait me donner l'encodage du fichier non ?
ou alors TextWe-rangler fait une conversion auto ?

>> >j'ai besoin de connaître l'encodage de ce fichier pour le transcoder en
>> >UTF-8, car je recherche systématiquement dans les fichiers css les
>> >"@import url" afin de les importer localement.
> Un transcodage "UTF-8" donnera la même chose, AMHA...

ben oui, si c'est de l'ascii.

bon, j'ai fait quelques essais avec des librairies de détection en ruby,
résultats pas fameux, la première essayée :
"chardet" <https://github.com/janx/chardet>
le code ne marche pas tel quel, j'ai du corriger des erreurs de syntaxes
en ruby...
ça date de deux ans.

la seconde rchardet1.9
<http://rubydoc.info/gems/rchardet19/1.3.5/frames>, là ça me donne :

url = http://www.certiferme.com/commun.css
CharDet.detect(css).confidence = 0.7217099325349031
CharDet.detect(css).encoding = ISO-8859-2

ce fichier "http://www.certiferme.com/commun.css" téléchargé et converti
en UTF-8 par TextWrangler dans le fichier "commun-utf8.css" :
url = certiferme-RECETTE TARTE AUX RAISINS, RECETTE TARTE AUX RAISINS,
DESSERT avec photo_files/commun-utf8.css
CharDet.detect(css).confidence = 0.7525
CharDet.detect(css).encoding = utf-8

il semblerait donc que ce soit de l'ISO-8859-2, donc j'essaie la
conversion ISO -> UTF-8 :

CharDet.detect(css_utf8).confidence = 0.7525
CharDet.detect(css_utf8).encoding = utf-8


après avoir ajouté :
css_utf8=css.encode('UTF-8', cd.encoding)

le code ruby si quelqu'un est intéressé :

require 'rchardet19'

css=open(url) { |f| f.read }
cd=CharDet.detect(css)
puts "CharDet.detect(css).confidence = #{cd.confidence}"
# -> CharDet.detect(css).confidence = 0.7217099325349031

puts "CharDet.detect(css).encoding = #{cd.encoding}"
# -> CharDet.detect(css).encoding = ISO-8859-2

css_utf8=css.encode('UTF-8', cd.encoding)
cd=CharDet.detect(css_utf8)
puts "CharDet.detect(css_utf8).confidence = #{cd.confidence}"
# -> CharDet.detect(css_utf8).confidence = 0.7525

puts "CharDet.detect(css_utf8).encoding = #{cd.encoding}"
# -> CharDet.detect(css_utf8).encoding = utf-8


donc, ça devrait rouler (?), d'après la doc, la détection est ok si
#confidence est > 0.6.



Une Bévue

غير مقروءة،
29‏/09‏/2012، 4:43:55 ص29‏/9‏/2012
إلى
Le 29/09/12 10:15, M.H a écrit :
> Ben moi il me donne windows-1252 !
quel bordel, cette détection.

la librairie rchardet19 (pour ruby 1.9.+) me donne "ISO-8859-2" avec un
degré de confidence de "0.72".

Sergio

غير مقروءة،
29‏/09‏/2012، 5:14:10 ص29‏/9‏/2012
إلى
Le Sat, 29 Sep 2012 10:41:55 +0200, Une Bévue a écrit :

> Le 29/09/12 09:30, Sergio a écrit :
>>> >j'ai besoin d'obtenir l'encodage d'un fichier css, par programme et
>>> >donc "a priori".
>>> >
>>> >par exemple celui-ci :
>>> >http://www.certiferme.com/commun.css
>> En général, sauf tours vicieux, un fichier css est de l'ASCII pur (pas
>> de caractères accentués ou étrangers).
>
> ben oui, c'est bien ce que je pense MAIS, ruby me dit le contraire, ce
> n'est pas de l'ascii, d'ailleurs, le caractère @ existe t'il en ascii ?

Bien sûr : 0x40 (ou 64 en décimal)

cf http://fr.wikipedia.org/wiki/
American_Standard_Code_for_Information_Interchange

> url = http://www.certiferme.com/commun.css
> CharDet.detect(css).confidence = 0.7217099325349031
> CharDet.detect(css).encoding = ISO-8859-2

Idem chez moi (chardet livré de base avec ma distribution Linux).


> il semblerait donc que ce soit de l'ISO-8859-2, donc j'essaie la
> conversion ISO -> UTF-8 :

Que dit un diff entre la version d'origine et la version utf-8 ? Ça a des
chances d'être les mêmes fichiers, au transcodage des fin de ligne et
l'éventuel BOM rajouté par ton transcodeur.

Une Bévue

غير مقروءة،
29‏/09‏/2012، 6:22:34 ص29‏/9‏/2012
إلى
Le 29/09/12 11:14, Sergio a écrit :
> Idem chez moi (chardet livré de base avec ma distribution Linux).

c'est laquelle de distrib ?
perso je suis en Xubuntu / Voyager 12.04 LTS.

j'envisage de passer à Manjaro (version XFCE de Arch), mais il faut que
je teste les paquets car j'ai besoin de :
Apache2 + php, PostgreSQL
Ruby s'installe à part avec rvm.

>
>> >il semblerait donc que ce soit de l'ISO-8859-2, donc j'essaie la
>> >conversion ISO -> UTF-8 :
> Que dit un diff entre la version d'origine et la version utf-8 ? Ça a des
> chances d'être les mêmes fichiers, au transcodage des fin de ligne et
> l'éventuel BOM rajouté par ton transcodeur.

Je ne sais pas trop utilisé diff, j'ai fait "bêtement" un :
$ diff commun-utf8.css commun.css

qui me donne :
1,4680c1,4680
puis des tas de lignes css précédées de "<"
4682,4826c4682,4826
et des tas de lignes css précédées de ">"

Bon, après un chti coup de man et :

$ diff -E -w -B --strip-trailing-cr commun-utf8.css commun.css

j'obtiens qqc de plus lisible :

878c878
< /* !: Le total width+margin-top+margin-left doit etre egal ‡ 535px */;
---
> /* !: Le total width+margin-top+margin-left doit etre egal ?
535px */;
4096c4096
< /* Mots clÈ de bas de page */
---
> /* Mots cl? de bas de page */


CONCLUSION : ce sont des commentaires qui posaient problème...

Une Bévue

غير مقروءة،
29‏/09‏/2012، 6:31:28 ص29‏/9‏/2012
إلى
Le 29/09/12 12:22, Une Bévue a écrit :
>> Idem chez moi (chardet livré de base avec ma distribution Linux).
>
> c'est laquelle de distrib ?
> perso je suis en Xubuntu / Voyager 12.04 LTS.
bon sur Linux j'ai bien chardet, pas sur Mac OS X, je l'ai en lib ruby
(gem), ça me suffit.

Sergio

غير مقروءة،
29‏/09‏/2012، 8:13:08 ص29‏/9‏/2012
إلى
Le Sat, 29 Sep 2012 12:22:34 +0200, Une Bévue a écrit :

> Le 29/09/12 11:14, Sergio a écrit :
>> Idem chez moi (chardet livré de base avec ma distribution Linux).
>
> c'est laquelle de distrib ?
> perso je suis en Xubuntu / Voyager 12.04 LTS.

Linux Mint Maya (basé sur Ubuntu 1.04). Donc je suppose, le même...

Sergio

غير مقروءة،
29‏/09‏/2012، 8:22:10 ص29‏/9‏/2012
إلى
Le Sat, 29 Sep 2012 12:22:34 +0200, Une Bévue a écrit :

> Le 29/09/12 11:14, Sergio a écrit :
>> Idem chez moi (chardet livré de base avec ma distribution Linux).
>
> c'est laquelle de distrib ?
> perso je suis en Xubuntu / Voyager 12.04 LTS.

Linux Mint Maya (basé sur Ubuntu 12.04). Donc je suppose, le même...

Une Bévue

غير مقروءة،
29‏/09‏/2012، 8:58:10 ص29‏/9‏/2012
إلى
Le 29/09/12 14:22, Sergio a écrit :
> Linux Mint Maya (basé sur Ubuntu 12.04). Donc je suppose, le même...
>
j'ai essayé et j'ai eu des pbs :
perte de la partie haute des fenêtres...

Pierre Goiffon

غير مقروءة،
08‏/10‏/2012، 12:07:15 م8‏/10‏/2012
إلى
Le 29/09/2012 09:20, Une Bévue a écrit :
> j'ai besoin d'obtenir l'encodage d'un fichier css, par programme et donc
> "a priori".

Hahum, j'arrive après la bataille...
A noter que pour les CSS il y a des cas particuliers !

Reprenons la recommandation de base déjà :
http://www.w3.org/TR/html401/charset.html#h-5.2.2
"To sum up, conforming user agents must observe the following priorities
when determining a document's character encoding (from highest priority
to lowest):
1. An HTTP "charset" parameter in a "Content-Type" field.
2. A META declaration with "http-equiv" set to "Content-Type" and a
value set for "charset".
3. The charset attribute set on an element that designates an external
resource."

Les fichiers CSS ont des particularités...
Cf http://www.w3.org/TR/CSS21/syndata.html#x50
"An HTTP "charset" parameter in a "Content-Type" field (or similar
parameters in other protocols)
BOM and/or @charset (see below)
<link charset=""> or other metadata from the linking mechanism (if any)
charset of referring style sheet or document (if any)
Assume UTF-8"

(tiens il faudrait que je maj sur ce sujet ma page
http://pgoiffon.free.fr/info/i18n/web-charset_html.php)

Sinon pour s'assurer qu'un caractère donné est présent dans tel charset,
le fabuleux outil d'Olivier est très pratique :
http://www.miakinen.net/vrac/charsets
Il y a aussi bcp de documentation sur le site du consortium Unicode :
http://www.unicode.org/Public/MAPPINGS/

Une Bévue

غير مقروءة،
08‏/10‏/2012، 12:46:38 م8‏/10‏/2012
إلى
On 08/10/12 18:07, Pierre Goiffon wrote:
> Le 29/09/2012 09:20, Une B�vue a �crit :
>> j'ai besoin d'obtenir l'encodage d'un fichier css, par programme et donc
>> "a priori".
>
> Hahum, j'arrive apr�s la bataille...
> A noter que pour les CSS il y a des cas particuliers !
>
> Reprenons la recommandation de base d�j� :
> http://www.w3.org/TR/html401/charset.html#h-5.2.2
> "To sum up, conforming user agents must observe the following priorities
> when determining a document's character encoding (from highest priority
> to lowest):
> 1. An HTTP "charset" parameter in a "Content-Type" field.
> 2. A META declaration with "http-equiv" set to "Content-Type" and a
> value set for "charset".
> 3. The charset attribute set on an element that designates an external
> resource."

ben en gros c'est ce que je fais, je regarde les headers, si j'ai le
charset, je m'arr�te l� ;
ensuite meta declaration, si trouv�, je m'arr�te l� ;
dans le cas extr�me je fais (avec une librairie idoine) un guess charset
qui me donne un taux de confidence, si sup � 0.6, je m'arr�te l�.
j'assume UTF-8 ;
si �a plante, j'aborte.

> Les fichiers CSS ont des particularit�s...
> Cf http://www.w3.org/TR/CSS21/syndata.html#x50
> "An HTTP "charset" parameter in a "Content-Type" field (or similar
> parameters in other protocols)
> BOM and/or @charset (see below)
> <link charset=""> or other metadata from the linking mechanism (if
> any)
> charset of referring style sheet or document (if any)
> Assume UTF-8"
>
> (tiens il faudrait que je maj sur ce sujet ma page
> http://pgoiffon.free.fr/info/i18n/web-charset_html.php)

oui, l�, c'est plus difficile, avec les css, car quelquefois ce sont les
commentaires dans un css qui ont des caract�res accentu�s donc l�
l'encodage doit-�tre trouv�.

je traite les pages avec ruby 1.9.+, il est tr�s susceptible en terme
d'encodage.

et aussi, ce que tu �cris au dessus, c'est quand les gens respectent la
norme.

> Sinon pour s'assurer qu'un caract�re donn� est pr�sent dans tel charset,
> le fabuleux outil d'Olivier est tr�s pratique :
> http://www.miakinen.net/vrac/charsets

oui, oui, je connais, mais je parle d'un truc par script, donc automatique.
0 رسالة جديدة