Utilisation du codage UTF8 par défaut lors de la rédaction d'e-mails


8

Lorsque je veux envoyer un e-mail que j'ai composé dans Emacs, j'appuie C-c C-cet je reçois toujours un tel message d'erreur:

These default coding systems were tried to encode text
in the buffer `2015-02-03_19:08:30_1':
  (utf-8-unix (302 . 4194243) (303 . 4194208) (305 . 4194243) (306 .
  4194217) (308 . 4194243) (309 . 4194221) (311 . 4194243) (312 .
  4194227))
However, each of them encountered characters it couldn't encode:
  utf-8-unix cannot encode these:        

Click on a character (or switch to this window by `M-o'
and select the characters by RET) to jump to the place it appears,
where `C-u M-x what-cursor-position' will give information about it.
[...]

À ce stade, je peux sélectionner manuellement un encodage et mon e-mail est envoyé. Ce que je ne comprends pas, c'est que je sélectionne toujours utf-8comme encodage quand je reçois ce message et ça marche! Mais le message disait que utf-8-unixne pouvait pas encoder certains personnages.

Quelqu'un peut-il me dire pourquoi Emacs ne peut pas sélectionner utf-8par défaut et ce que ce message d'erreur signifie dans ce contexte?

EDIT 2015/02/05

J'utilise mu4eet j'ai essayé (setq-default buffer-file-coding-system 'utf-8)sans succès (après avoir évalué cette expression, si je commence à écrire un nouvel e-mail, la valeur de la variable n'est pas 'utf-8mais 'utf-8-unix).

EDIT 2015/02/06

J'ai également essayé M-x set-keyboard-coding-system utf-8et (setq mm-coding-system-priorities '(utf-8))cela n'a eu aucun effet visible.

EDIT 2015/02/21

Je viens de remarquer ce problème ne se produit que si smtpmail-queue-mailest t. Je suppose donc que le problème réside dans la fonction de mise en file d'attente des e-mails.


L'incantation à préférer utf-8dans tous les tampons est-elle utile? (setq-default buffer-file-coding-system 'utf-8)
PythonNut

Quel expéditeur utilisez-vous? RMAIL, Gnus, Wanderlust?
jch

@jch C'est tagué mu4e.
PythonNut

J'ai répondu en modifiant la question
Damien Cassou

le réglage peut-il (set-keyboard-coding-system 'utf-8)aider?
Nom

Réponses:


4

J'ai beaucoup traité de cette question. L'encodage dépendra des informations contenues dans le fichier. S'il n'y a aucune information dans le fichier pour déterminer de manière explicite ce que c'est, vous pouvez obtenir des choses comme ci-dessus.

Si votre travail n'implique pas beaucoup de systèmes anciens qui nécessitent un codage différent, vous pouvez envisager de forcer le codage UTF-8 par défaut partout . C'est pratiquement un standard de nos jours, du moins en Occident (pour moi en tout cas), car il est dominant sur le Web; a un mappage un à un avec ASCII; suffisamment flexible pour représenter n'importe quel caractère unicode dans le monde. Mais pour que Emacs utilise UTF-8 partout par défaut:

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-language-environment 'utf-8)

Une fois évalué, Emacs traitera les nouveaux fichiers, tampons, processus, etc. comme s'ils étaient UTF-8. Gardez à l'esprit qu'Emacs utilisera toujours un système de codage différent si le fichier a une variable locale de fichier comme celle-ci -*- coding: euc-tw -*-près du haut du fichier. (Archivez les 48.2.4 Local Variablesfichiers dans le manuel Emacs.)


J'ai ajouté ces lignes à .emacs. Cependant, si je crée un nouveau fichier TeX, "file -bi" signale toujours qu'il est encodé en us-ascii. Des idées?
painfulenglish

1

J'utilise Emacs intégré compose-mail(Cx m) pour envoyer des e-mails et j'ai rencontré un problème similaire sur l'encodage. Je ne sais pas si cela pourrait vous aider:

(setq mm-coding-system-priorities '(utf-8))

aucun effet (j'ai édité la question)
Damien Cassou

0

Avec tous les paramètres ci-dessus, les fenêtres d'encodage ont continué à apparaître. J'ai fait plus d'enquête et j'ai découvert ce paramètre:

(setq message-default-charset 'utf-8)
(add-to-list 'mm-body-charset-encoding-alist '(utf-8 . base64))

Résolu le problème pour moi. Je travaille sur Mac OS 10.14.5, Emacs 26.1.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.