j'ai fait une connerie - encodages

Le
yitzhak in eretz (sic)
Desole, je vais devoir ecrire ce post sans accents.

J'utilise Mail.app pour mes courriels, et slrn sur un serveur distant pour
les news - les messages sont tapes dans vim sur mon Mac, et je fais un ssh
pour les poser sur le serveur distant, en attendant d'etre poste.

Avant, tout marchait bien. Plus maintenant, j'ai du faire une connerie au
niveau des encodages, et je peine a la retrouver.

Par exemple, je recois un mel avec des accents qui s'affichent
correctement.

<http://img185.imageshack.us/i/capturedcran20090916212.png/>

Je fais "repondre" et dans le texte cite, les accents apparaissent aussi.
Bien. Mais quand j'envoie le message et ensuite je regarde encore le mail
dans ma boite "envoyes", ca ressemble a ca..

<http://img27.imageshack.us/i/capturedcran20090916212.png/>

(sachez que mes interlocuteurs affirment que les accents s'affichent
parfaitement chez eux, quand ils lisent mes mails)

Je pensais que c'etait Mail.app, mais maintenant, meme effet sur usenet, ou
avant, ca marchait. Par exemple - je suis allé à la gare (impossible de
savoir comment ca va sortir, mais je parie que les accents seront remplaces
par des caracteres a deux bytes).

Puis dans vim si je tape un text..

<http://img232.imageshack.us/img232/5084/capturedcran20090917145.png>

.. et qu'ensuite j'ouvre ce fichier avec TextEdit..

<http://img248.imageshack.us/img248/9226/capturedcran20090917150.png>

Vraisemblablement, j'aurais fait une grosse betise, mais ou?

Pour info, "encodages" dans Terminal..

<http://img411.imageshack.us/i/capturedcran20090917125.png/>

.. methodes de saisie..

<http://img25.imageshack.us/i/capturedcran20090917124.png/>

.. Langues..

<http://img34.imageshack.us/i/capturedcran20090917124.png/>

Ou est-ce que j'ai deconne, et comment le rectifier? Vos avis seraient les
bienvenus..


--
Yitzhak Isaac Goldstein
'Only two things are infinite, the universe and human stupidity -
and I'm not sure about the former' (Albert Einstein)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Éric Lévénez
Le #20168501
yitzhak in eretz (sic) a écrit :

[snip] je parie que les accents seront remplaces
par des caracteres a deux bytes). [snip]



Je pense que le problème vient de là. j'ai l'impression que tu penses
que les accents sont codés sur 8 bits et que sinon il y a un problème.

Le codage sur 8 bits est valable pour les vieux encodages Mac (Classic),
PC (Codepage) ou ISO-8859 par exemple. Le codage actuel d'internet et de
Mac OS X est l'UTF-8 où les caractères avec accents sont codés sur
plusieurs octets (généralement 2).

Dans ton message actuel tu as des accents UTF-8, ce qui est très bien,
mais ton programme de news (slrn) dit qu'il envoie de l'ISO-8859. Ça ne
peut donc pas marcher. Il faut donc que tu modifies tes réglages slrn.

Quand tu reçois un email, c'est le distant qui fixe l'encodage, et Mail
s'y adapte. Quand tu envoies un email, Mail essaye de trouver un
encodage adéquat, par forcément le même que celui auquel tu réponds. Il
faut laisser dans Mail, menu "Message / Encodage du texte",
"Automatique", comme cela pas de problème.

Pour Terminal, tu dois avoir la variable "LANG=fr_FR.UTF-8". Tu peux
vérifier que tu es bien en UTF-8 en regardant l'encodage de é :

$ echo é | hexdump -C
00000000 c3 a9 0a |...|
00000003


--
Éric Lévénez -- Unix is not only an OS, it's a way of life.
yitzhak in eretz (sic)
Le #20170161
On 2009-09-17, ric Lévénez
Newsgroups: fr.comp.os.mac-os.x
From: "yitzhak in eretz (sic)" Subject: Re: j'ai fait une connerie - encodages
References: Organization: Deathie Destruction since 1993
Reply-To:
Followup-To:
Mail-Copies-To: nobody

On 2009-09-17, ric Lévénez
yitzhak in eretz (sic) a écrit :

[snip] je parie que les accents seront remplaces
par des caracteres a deux bytes). [snip]



Je pense que le problème vient de là. j'ai l'impression que tu penses
que les accents sont codés sur 8 bits et que sinon il y a un problème.

Le codage sur 8 bits est valable pour les vieux encodages Mac (Classic),
PC (Codepage) ou ISO-8859 par exemple. Le codage actuel d'internet et de
Mac OS X est l'UTF-8 où les caractères avec accents sont codés sur
plusieurs octets (généralement 2).

Dans ton message actuel tu as des accents UTF-8, ce qui est très bien,
mais ton programme de news (slrn) dit qu'il envoie de l'ISO-8859. Ça ne
peut donc pas marcher. Il faut donc que tu modifies tes réglages slrn.



Fait -

'charset outgoing "utf-8"'

Voyons que ça marche... hôtel, sûr, à la plage, bien qu'il fût... etc etc
..

J'avoue ne plus rien piger. Alors pour essayer de rectifier le problème,
j'ai coché toutes les cases dans les préférences système (rubrique "langues
et texte"), et j'ai mis les encodages dans Terminal à ISO Latin 9. Là
quand je tape ce message, je vois bien les accents.. vont-il apparaître
dans mon post quand il te parviendra?

Quand tu reçois un email, c'est le distant qui fixe l'encodage, et Mail
s'y adapte. Quand tu envoies un email, Mail essaye de trouver un
encodage adéquat, par forcément le même que celui auquel tu réponds. Il
faut laisser dans Mail, menu "Message / Encodage du texte",
"Automatique", comme cela pas de problème.



Il y est. Mais le problème persiste. Etrangement, quand je commence un
mél (c'est-à-dire un nouveau mél sans répondre à qui que ce soit), ça
marche.

Pour Terminal, tu dois avoir la variable "LANG=fr_FR.UTF-8". Tu peux
vérifier que tu es bien en UTF-8 en regardant l'encodage de é :

$ echo é | hexdump -C
00000000 c3 a9 0a |...|
00000003



Le "é" refuse de s'afficher dans Terminal.
Y.

--
Yitzhak Isaac Goldstein
'Only two things are infinite, the universe and human stupidity -
and I'm not sure about the former' (Albert Einstein)

--
Yitzhak Isaac Goldstein
AADP's 'left-wing Israeli intellectual'
'Only two things are infinite, the universe and human stupidity -
and I'm not sure about the former' (Albert Einstein)
Éric Lévénez
Le #20170361
yitzhak in eretz (sic) a écrit :

'charset outgoing "utf-8"'



C'est bien ce que ton message a dans son en-tête.

Voyons que ça marche... hôtel, sûr, à la plage, bien qu'il fût... etc etc



Et cela marche bien, les accents passent sans problème.
Bien sûr je dirais. :-)

Il y est. Mais le problème persiste. Etrangement, quand je commence un
mél (c'est-à-dire un nouveau mél sans répondre à qui que ce soit), ça
marche.



Si tu mets des accents simples, comme é ou è, l'encodage sera
"iso-8859-1". Si tu mets par exemple "€", l'encodage sera
"windows-1252". Si tu mets plus de caractères "exotiques", le codage
sera "utf-8". Tu peux vérifier cela en t'envoyant des emails et en
regardant les encodages dans les en-têtes Mime.

Pour Terminal, tu dois avoir la variable "LANG=fr_FR.UTF-8". Tu peux
vérifier que tu es bien en UTF-8 en regardant l'encodage de é :

$ echo é | hexdump -C
00000000 c3 a9 0a |...|
00000003



Le "é" refuse de s'afficher dans Terminal.



Ah, oui cela dépend de la configuration du shell et de son type. Essaye
d'escaper le "é" en tapant avant Ctrl-V.

--
Éric Lévénez -- Unix is not only an OS, it's a way of life.
yitzhak in eretz (sic)
Le #20174461
On 2009-09-17, ric Lévénez
yitzhak in eretz (sic) a écrit :

'charset outgoing "utf-8"'



C'est bien ce que ton message a dans son en-tête.

Voyons que ça marche... hôtel, sûr, à la plage, bien qu'il fût... etc etc



Et cela marche bien, les accents passent sans problème.
Bien sûr je dirais. :-)



:-)

Il y est. Mais le problème persiste. Etrangement, quand je commence un
mél (c'est-à-dire un nouveau mél sans répondre à qui que ce soit), ça
marche.



Si tu mets des accents simples, comme é ou è, l'encodage sera
"iso-8859-1". Si tu mets par exemple "€", l'encodage sera
"windows-1252". Si tu mets plus de caractères "exotiques", le codage
sera "utf-8". Tu peux vérifier cela en t'envoyant des emails et en
regardant les encodages dans les en-têtes Mime.

Pour Terminal, tu dois avoir la variable "LANG=fr_FR.UTF-8". Tu peux
vérifier que tu es bien en UTF-8 en regardant l'encodage de é :

$ echo é | hexdump -C
00000000 c3 a9 0a |...|
00000003



Le "é" refuse de s'afficher dans Terminal.



Ah, oui cela dépend de la configuration du shell et de son type. Essaye
d'escaper le "é" en tapant avant Ctrl-V.



OK, ça a l'air de fonctionner, bien que j'avoue ne plus rien piger.

Dans Mail.app, par contre, les messages que moi j'envoie contiennent
toujours les accents un peu zarbi. Si je fais "message" et puis "encodage
du texte", je peux faire apparaître les accents. Ca vaut peut-être la
peine d'ajouter 'UTF-8' de façon permanente dans les en-têtes..?

Y.

--
Yitzhak Isaac Goldstein
'Only two things are infinite, the universe and human stupidity -
and I'm not sure about the former' (Albert Einstein)
Éric Lévénez
Le #20176291
yitzhak in eretz (sic) a écrit :

Dans Mail.app, par contre, les messages que moi j'envoie contiennent
toujours les accents un peu zarbi.



C'est toi qui vois cela n local ou c'est tes correspondant qui le disent
? Et zarbi, cela veut dire quoi exactement ? Est-ce que tu as 2
caractères à la place d'un seul (encodage UTF-8 affiché en ISO-8859 par
exemple) ou chaque accent remplace par un autre (encodage 8 bits à la
place d'un autre)... ?

Si je fais "message" et puis "encodage
du texte", je peux faire apparaître les accents. Ca vaut peut-être la
peine d'ajouter 'UTF-8' de façon permanente dans les en-têtes..?



Non :-(

Dans un email "normal", il y a généralement plusieurs sections Mime. Une
section peut encoder du texte, une image, un son, un fichier binaire...

Si tu crées un email avec du texte type "é", puis une image, puis un
deuxième texte avec "€", puis une seconde image et enfin un troisième
texte avec des caractères spéciaux ; et bien tu auras 5 sections Mime,
la première avec un encodage "iso-8859-1", la troisième avec un encodage
"windows-1252" et la dernière avec un encodage "utf-8", les 2 autres
sections étant encodé en base64 (du binaire). Et il n'y aura pas
d'encodage précisé dans l'en-tête du email.

Il ne faut jamais s'amuser à forcer un encodage en émission car c'est au
programme de le faire automatiquement. Le menu "Encodage du texte" ne
devrait servir que dans le cas où l'on reçoit un email venant d'une
personne utilisant un mauvais programme qui définit incorrectement
l'encodage.

Dans un monde parfait tout le monde utilisait l'UTF-8 dans tous les
types de programmes et il n'y aurait aucun souci. Mais on voit bien
qu'il y a des habitudes tenaces que cela soit chez les programmeurs que
chez certains utilisateurs. Je ne dis pas cela pour toi mais pour
d'autres ici qui se reconnaîtrons :-)


--
Éric Lévénez -- Unix is not only an OS, it's a way of life.
Publicité
Poster une réponse
Anonyme