Usar la codificación UTF8 como predeterminada al escribir correos electrónicos


8

Cuando quiero enviar un correo electrónico que escribí en Emacs, presiono C-c C-cy siempre aparece un mensaje de error de este tipo:

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

En este punto, puedo seleccionar manualmente una codificación y se envía mi correo electrónico. Lo que no entiendo es que siempre selecciono utf-8como codificación cuando recibo este mensaje y ¡simplemente funciona! Pero el mensaje decía que utf-8-unixno puede codificar algunos caracteres.

¿Alguien puede decirme por qué Emacs no puede seleccionar utf-8por defecto y qué significa este mensaje de error en este contexto?

EDITAR 05/02/2015

Estoy usando mu4ee intenté (setq-default buffer-file-coding-system 'utf-8)sin éxito (después de evaluar esta expresión, si empiezo a escribir un nuevo correo electrónico, el valor de la variable no es 'utf-8pero 'utf-8-unix).

EDITAR 06/02/2015

También lo intenté M-x set-keyboard-coding-system utf-8y (setq mm-coding-system-priorities '(utf-8))esto no tuvo ningún efecto visible.

EDITAR 21/02/2015

Acabo de notar que este problema solo ocurre si smtpmail-queue-mailes así t. Así que supongo que el problema está en la función de cola de correo electrónico.


¿ utf-8Ayuda el encantamiento a preferir en todos los buffers? (setq-default buffer-file-coding-system 'utf-8)
PythonNut

¿Qué mailer estás usando? RMAIL, Gnus, Wanderlust?
jch

@jch Está etiquetado mu4e.
PythonNut

Respondí editando la pregunta
Damien Cassou,

¿Puede (set-keyboard-coding-system 'utf-8)ayudar la configuración ?
Nombre

Respuestas:


4

He tratado mucho este problema. La codificación dependerá de la información en el archivo. Si no hay información en el archivo explícitamente para determinar qué es, puede obtener las cosas anteriores.

Si su trabajo no involucra muchos sistemas antiguos que requieren una codificación diferente, puede considerar forzar la codificación UTF-8 predeterminada en todas partes . Es prácticamente un estándar hoy en día, al menos en Occidente (para mí de todos modos), ya que es dominante en la Web; tiene un mapeo uno a uno con ASCII; lo suficientemente flexible como para representar cualquier personaje unicode en el mundo. Pero para que Emacs use UTF-8 en todas partes de forma predeterminada:

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

Una vez evaluado, Emacs tratará los nuevos archivos, buffers, procesos, etc., como si fueran UTF-8. Tenga en cuenta que Emacs seguirá utilizando un sistema de codificación diferente si el archivo tiene una variable local de archivo como esta -*- coding: euc-tw -*-cerca de la parte superior del archivo. (Verifique los 48.2.4 Local Variablesarchivos en el manual de Emacs).


He agregado estas líneas a .emacs. Sin embargo, si creo un nuevo archivo TeX, "file -bi" aún informa que está codificado como us-ascii. ¿Algunas ideas?
painfulenglish

1

Utilizo Emacs incorporado compose-mail(Cx m) para enviar correos electrónicos y encontré un problema similar en la codificación. No estoy seguro si esto te ayudaría:

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

sin efecto (he editado la pregunta)
Damien Cassou

0

Con todos los ajustes anteriores, las ventanas de codificación continuaron apareciendo. Investigué más y descubrí esa configuración:

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

Resolvió el problema por mí. Estoy trabajando en Mac OS 10.14.5, Emacs 26.1.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.