| Deutsch English Français Italiano |
|
<vhclmk$2jf9$1@cabale.usenet-fr.net> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.roellig-ltd.de!open-news-network.org!weretis.net!feeder8.news.weretis.net!proxad.net!feeder1-2.proxad.net!usenet-fr.net!.POSTED!not-for-mail From: Olivier Miakinen <om+news@miakinen.net> Newsgroups: fr.comp.infosystemes Subject: Distinguer UTF-8 d'un autre encodage (was: Mauvais encodage) Date: Sun, 17 Nov 2024 12:57:08 +0100 Organization: There's no cabale Lines: 44 Message-ID: <vhclmk$2jf9$1@cabale.usenet-fr.net> References: <0kBuqSbAxmlqmwDZO30oD0QcWok@jntp> <vg2hnb$3888u$1@dont-email.me> <vg2j0t$38evc$1@dont-email.me> <ntlWEBYnVt0ftbQiWgp5kmVJjMA@jntp> <lopmrrF6b21U1@mid.individual.net> <TtNIVb-xyl19P1uhiWzduR6NEY4@jntp> <vh544g$2s7ba$1@dont-email.me> <dZNKgxNd80Qv1gVBFDC9KoHURpw@jntp> <vh57hq$2skdk$2@dont-email.me> <AABnN0JWQPQAAB+N.A3.flnews@yamo.pasdenom.info> <vh7v49$ehf$1@rasp.pasdenom.info> <vh8dlh$jif$4@rasp.pasdenom.info> <vha324$1i6r$1@cabale.usenet-fr.net> <vha3vt$jif$9@rasp.pasdenom.info> <vha5uu$1j36$1@cabale.usenet-fr.net> <vhcfdg$dtt$4@rasp.pasdenom.info> <vhck0e$2j24$1@cabale.usenet-fr.net> NNTP-Posting-Host: 200.89.28.93.rev.sfr.net Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Trace: cabale.usenet-fr.net 1731844628 85481 93.28.89.200 (17 Nov 2024 11:57:08 GMT) X-Complaints-To: abuse@usenet-fr.net NNTP-Posting-Date: Sun, 17 Nov 2024 11:57:08 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4 In-Reply-To: <vhck0e$2j24$1@cabale.usenet-fr.net> Bytes: 3835 Le 17/11/2024 12:28, j'écrivais : > > Alors qu'il est possible de lire de l'UTF-8 et de l'interpréter comme si c'était > du Latin1 (plus probablement du Windows Latin1 à cause des caractères dans la > plage 80-9F), le contraire est impossible. Le moindre é écrit E9 est impossible > en UTF-8, ce qui indique que le charset, si non indiqué ou inconnu, ne peut pas > être UTF-8. Il est alors tout à fait normal que le navigateur se rabatte sur > un charset mono-octet, par exemple MacRoman sur Mac ou Latin1 partout. Voici un exemple pour illustrer ce que je dis. Supposons qu'une page HTML envoie les octets « 63 6F 64 C3 A9 ». − Si l'encodage annoncé est UTF-8, le navigateur affichera « codé ». − Si l'encodage annoncé est ISO-8859-1, ou ISO-8859-15, ou windows-1252, le navigateur affichera « codé ». − Mais si l'encodage annoncé est inconnu et que le navigateur doit deviner, sachant que les deux interprétations sont valides il y a au moins deux stratégies possibles : la stratégie prudente qui consiste à choisir windows-1252 parce que c'est l'encodage qui a le moins de chances de tomber sur un caractère inexistant ; la stratégie intelligente selon laquelle si ça *peut* être de l'UTF-8 alors il y a statistiquement peu de chances que ce soit autre chose. Supposons maintenant qu'une page HTML envoie les octets « 63 6F 64 E9 ». − Si l'encodage annoncé est ISO-8859-1, ou ISO-8859-15, ou windows-1252, le navigateur affichera « codé ». − Si l'encodage annoncé est UTF-8, le navigateur devrait afficher « cod� » parce que, bien que le code E9 soit invalide en UTF-8, on lui a demandé explicitement de le lire comme si c'était de l'UTF-8 ; ce n'est pas possible alors il affiche le caractère de remplacement. − Enfin, si l'encodage annoncé est inconnu, et même si on a configuré le navigateur pour qu'il privilégie UTF-8 comme charset par défaut, il sait que ça ne *peut* pas être de l'UTF-8 alors un choix raisonnable doit être windows-1252, non pas parce que si c'est incorrect c'est forcément dû à Windows, mais parce que cela englobe ISO-8859-1 qui est le standard favori des charsets mono-octet. -- Olivier Miakinen