OVH Cloud OVH Cloud

encodage menu contextuel ?

15 réponses
Avatar
unbewusst.sein
je télécharge automatiquement le contenu de pages en utilisant leur URL
par le menu contexturel de FireFox 3 (latest) en faisant (Mac OS X) :

ctrl + click maintenu > Copier l'adresse du lien.

le lien obtenu de cette manière me sert à télécharger la page et je
rencontre un problème d'encodage car ruby me dit :

invalid byte sequence in UTF-8

l'URL copiée de cette manière étant :

http://www.ptitchef.com/recettes/entree/verrine-de-saumon-au-pesto-de-fe
nouil-et-d%92ail-fid-1098182?in=nl_daily&utm_source=daily_menu&utm_mediu
m=email&utm_campaign=Menu_email&utm_content=photo

elle marche "normalement" avec FF3

mais comment puis-je vérifier l'encodage dans ces conditions ?

si ce n'est pas de l'UTF-8 il faut que je connaisse l'encodage pour le
changer...

j'imagine que cette URL passe par tout un tas de couches logicielles
(mac os x) avant d'être fournie à mon script ruby...
--
« La télévision n'exige du spectateur qu'un acte de courage,
mais il est surhumain, c'est de l'éteindre. »
(Pascal Bruckner)

5 réponses

1 2
Avatar
Olivier Miakinen
Le 25/10/2010 12:07, j'écrivais :

En l'occurrence, ce serait plutôt Windows-1252 pour ce qui concerne
l'URL (bien que le contenu soit, lui, en ISO-8859-1).



Vérification faite, le contenu est annoncé être de l'ISO-8859-1, mais
c'est aussi du CP1252. D'ailleurs la toute première erreur signalée par
le validateur du W3C concerne bien ce caractère de code U+0092 qui
n'appartient pas au charset détecté.

<http://validator.w3.org/check?uri=http%3A%2F%2Fwww.ptitchef.com%2Frecettes%2Fentree%2Fverrine-de-saumon-au-pesto-de-fenouil-et-d%2592ail-fid-1098182%3Fin%3Dnl_daily%26utm_source%3Ddaily_menu%26utm_medium%3Demail%26utm_campaign%3DMenu_email%26utm_content%3Dphoto&charset=(detect+automatically)&doctype=Inline&group=0&ss=1>
<http://tinyurl.com/26dejv4>

En forçant le charset à windows-1252, on passe de 179 à 174 erreurs.
Avatar
unbewusst.sein
Olivier Miakinen <om+ wrote:

> la partie de string/URL mise en cause, amha, est le "%92" qui encode
> l'apostrophe "'".

Non, pas la simple quote « ' » mais l'apostrophe « ' ». Je te les mets
côte à côte (ou quote à quote !) pour que tu voies la différence :
''''''
''''''



OK

> ce "%92" est converti en "?" par iconv :
>
> imyt% recette
> charset = ISO-8859-1
> d_name = verrine-de-saumon-au-pesto-de-fenouil-et-d?ail_fichiers
> ___________________________________________________^____________

Normal. L'apostrophe ' n'existe pas dans ISO-8859-1 (pas plus qu'elle
n'existe dans ISO-8859-15, ce qui me force à te répondre en UTF-8 pour
l'afficher).



ah d'accord, d'ailleurs sur mac je n'ai pas cette glyph, amha, je n'ai
jamais utilisé que la simple quote..

> alors que le titre de la page est "Verrine de saumon au pesto de fenouil
> et d'ail"

Non, le titre est « Verrine de saumon au pesto de fenouil et d'ail ».
C'est une vraie apostrophe typographique et pas une patte de mouche ASCII.



c'est mon copié collé qui a transformé le "'" en "'".
<http://cjoint.com/data/0kzpm4KSDg8.htm>

> j'ai mis une vérue dans mon script car apparemment c'est la fonction
> URI.unescape qui transforme ce "%92" en "?" :

Oui, avec raison.

> donc si je remplace ce "%92" en "'" ça roule !!! avec :

Normal.

> mais je ne comprends pas pourquoi URI.unescape déconne ???

Cf. ci-dessus.

Voir aussi :
http://www.miakinen.net/vrac/charsets/?or=4&pr6 (' dans CP1252)
http://www.miakinen.net/vrac/charsets/?or=4&pr9 (' dans CP1252)
http://www.miakinen.net/vrac/charsets/?or=1&pr9 (' dans ASCII)



donc c'était bien du CP1252.

--
« La télévision n'exige du spectateur qu'un acte de courage,
mais il est surhumain, c'est de l'éteindre. »
(Pascal Bruckner)
Avatar
unbewusst.sein
Olivier Miakinen <om+ wrote:

Vérification faite, le contenu est annoncé être de l'ISO-8859-1, mais
c'est aussi du CP1252. D'ailleurs la toute première erreur signalée par
le validateur du W3C concerne bien ce caractère de code U+0092 qui
n'appartient pas au charset détecté.




<http://validator.w3.org/check?uri=http%3A%2F%2Fwww.ptitchef.com%2Frecet
tes%2Fentree%2Fverrine-de-saumon-au-pesto-de-fenouil-et-d%2592ail-fid-10
98182%3Fin%3Dnl_daily%26utm_source%3Ddaily_menu%26utm_medium%3Demail%26u
tm_campaign%3DMenu_email%26utm_content%3Dphoto&charset=(detect+automatic
ally)&doctype=Inline&group=0&ss=1>
<http://tinyurl.com/26dejv4>

En forçant le charset à windows-1252, on passe de 179 à 174 erreurs.



MDR !!!

du coup je suis assez fier de mon script qui parvient --quand -même-- à
extraire une partie de cette page, la convertir en UTF-8 et à
sauvegarder le résultat sur mon DD...




--
« La télévision n'exige du spectateur qu'un acte de courage,
mais il est surhumain, c'est de l'éteindre. »
(Pascal Bruckner)
Avatar
Olivier Miakinen
Le 25/10/2010 15:15, Une Bévue me répondait :

Non, pas la simple quote « ' » mais l'apostrophe « ' ». Je te les mets
côte à côte (ou quote à quote !) pour que tu voies la différence :
''''''
''''''




^^^^^^
:-D

ah d'accord, d'ailleurs sur mac je n'ai pas ce glyphe, amha, je n'ai
jamais utilisé que la simple quote..



Il est inexact de dire que tu ne l'as pas « sur mac » : je suis sûr
qu'il est visible dans Firefox, et qu'il le serait aussi dans un
nouvelleur récent.

En revanche, je confirme qu'il n'est pas dans le charset MacRoman :
<http://www.miakinen.net/vrac/charsets/?or=6>, et que du coup tu ne peux
pas l'écrire avec MacSOUP dont je suis à peu près sûr qu'il ne connaît
que MacRoman en interne.

c'est mon copié collé qui a transformé le "'" en "'".
<http://cjoint.com/data/0kzpm4KSDg8.htm>



La page cjoint n'existe pas, mais je te crois sur parole.

Voir aussi :
http://www.miakinen.net/vrac/charsets/?or=4&pr6 (' dans CP1252)
http://www.miakinen.net/vrac/charsets/?or=4&pr9 (' dans CP1252)
http://www.miakinen.net/vrac/charsets/?or=1&pr9 (' dans ASCII)



donc c'était bien du CP1252.



Oui.
Avatar
unbewusst.sein
Olivier Miakinen <om+ wrote:

> ah d'accord, d'ailleurs sur mac je n'ai pas ce glyphe, amha, je n'ai
> jamais utilisé que la simple quote..

Il est inexact de dire que tu ne l'as pas « sur mac » : je suis sûr
qu'il est visible dans Firefox, et qu'il le serait aussi dans un
nouvelleur récent.



ouais, mais il n'est pas accessible simplement, sans doute...

En revanche, je confirme qu'il n'est pas dans le charset MacRoman :
<http://www.miakinen.net/vrac/charsets/?or=6>, et que du coup tu ne peux
pas l'écrire avec MacSOUP dont je suis à peu près sûr qu'il ne connaît
que MacRoman en interne.




oui, je sais car j'ai eu beaucoup de difficulté, avec ruby, à changer ma
signature tous les jours, car le fichier MacSOUP à changer est en
MacRoman et mon fichier de signatures est en UTF-8.
je n'y suis d'alleurs pas parvenu en Ruby 1.9, seulement en ruby 1.8.x.
(apparemment iconv n'est pas le même dans ces deux versions de ruby)

> c'est mon copié collé qui a transformé le "'" en "'".
> <http://cjoint.com/data/0kzpm4KSDg8.htm>

La page cjoint n'existe pas, mais je te crois sur parole.



ben c'est curieux, c'est la seconde fois qu'un lien cJoint disparaît si
rapidement !

--
« La télévision n'exige du spectateur qu'un acte de courage,
mais il est surhumain, c'est de l'éteindre. »
(Pascal Bruckner)
1 2