Usando codificação UTF8 como padrão ao escrever emails


8

Quando quero enviar um e-mail que escrevi no Emacs, pressiono C-c C-ce sempre recebo uma mensagem de erro:

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.
[...]

Nesse ponto, posso selecionar manualmente uma codificação e meu email é enviado. O que não entendo é que sempre seleciono utf-8a codificação quando recebo essa mensagem e ela simplesmente funciona! Mas a mensagem dizia que utf-8-unixnão é possível codificar alguns caracteres.

Alguém pode me dizer por que o Emacs não pode selecionar utf-8por padrão e o que essa mensagem de erro significa nesse contexto?

EDIT 2015/02/05

Estou usando mu4ee tentei (setq-default buffer-file-coding-system 'utf-8)sem sucesso (depois de avaliar essa expressão, se eu começar a escrever um novo email, o valor da variável não será 'utf-8mas 'utf-8-unix).

EDIT 2015/02/06

Eu também tentei M-x set-keyboard-coding-system utf-8e (setq mm-coding-system-priorities '(utf-8))mas isso não teve efeito visível.

EDIT 2015/02/21

Acabei de perceber que esse problema só acontece se smtpmail-queue-mailfor t. Acho que o problema está no recurso de enfileiramento de e-mails.


O encantamento de preferir utf-8em todos os buffers ajuda? (setq-default buffer-file-coding-system 'utf-8)
precisa saber é o seguinte

Qual mala direta você está usando? RMAIL, Gnus, desejo de viajar?
jch 03/02

@jch Está marcado mu4e.
PythonNut

Eu respondi editando a pergunta
Damien Cassou

a configuração pode (set-keyboard-coding-system 'utf-8)ajudar?
Nome

Respostas:


4

Eu lidei muito com esse problema. A codificação dependerá das informações no arquivo. Se não houver informações no arquivo explicitamente para determinar o que é, você poderá obter as coisas acima.

Se o seu trabalho não envolve muitos sistemas antigos que exigem codificação diferente, considere forçar a codificação UTF-8 padrão em todos os lugares . Hoje em dia, é praticamente um padrão, pelo menos no Ocidente (pelo menos para mim), pois é dominante na Web; possui um mapeamento individual com ASCII; flexível o suficiente para representar qualquer caractere unicode no mundo. Mas para fazer o Emacs usar o UTF-8 em todos os lugares por padrão:

(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)

Uma vez avaliado, o Emacs tratará novos arquivos, buffers, processos etc. como se fossem UTF-8. Lembre-se de que o Emacs ainda usará um sistema de codificação diferente se o arquivo tiver uma variável local do arquivo como esta -*- coding: euc-tw -*-na parte superior do arquivo. (Verifique 48.2.4 Local VariablesArquivos no manual do Emacs.)


Eu adicionei essas linhas ao .emacs. No entanto, se eu criar um novo arquivo TeX, o "arquivo -bi" ainda informa que está codificado como us-ascii. Alguma ideia?
Doloroso # 07/16

1

Eu uso o Emacs compose-mailinterno (Cx m) para enviar e-mail e encontrei um problema semelhante na codificação. Não sei se isso ajudaria você:

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

nenhum efeito (Eu editei a pergunta)
Damien Cassou

0

Com todas as configurações acima, as janelas de codificação continuavam aparecendo. Eu fiz mais investigação e descobri essa configuração:

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

Resolvido o problema para mim. Estou trabalhando no Mac OS 10.14.5, Emacs 26.1.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.