メールの作成時にUTF8エンコーディングをデフォルトとして使用する


8

Emacsで作成した電子メールを送信したいとき、私はを押すC-c C-cと常にそのようなエラーメッセージが表示されます。

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

この時点で手動でエンコードを選択でき、メールが送信されます。私が理解していないのは、utf-8このメッセージを受け取ったときに常にエンコーディングとして選択し、それが機能することです!ただし、utf-8-unix一部の文字をエンコードできないというメッセージが表示されました。

Emacsがutf-8デフォルトで選択できない理由と、このコンテキストでのこのエラーメッセージの意味を誰かが教えてもらえますか?

編集2015/02/05

私が使用しているmu4eと私が試した(setq-default buffer-file-coding-system 'utf-8)成功せず、(私は新しい電子メールを書き始める場合、この式を評価した後、変数の値ではない'utf-8けど'utf-8-unix)。

編集2015/02/06

私も試してみましたM-x set-keyboard-coding-system utf-8(setq mm-coding-system-priorities '(utf-8))、これは目に見える影響を与えませんでした。

編集2015/02/21

この問題が発生するのsmtpmail-queue-mailは、の場合のみですt。したがって、問題はメールのキューイング機能にあると思います。


utf-8すべてのバッファーで好む呪文は役に立ちますか?(setq-default buffer-file-coding-system 'utf-8)
PythonNut、2015

どのメーラーを使用していますか?RMAIL、Gnus、Wanderlust?
jch 2015

@jchそれは、タグ付けされますmu4e
PythonNut、2015

私は質問を編集して回答しました
Damien Cassou

設定は(set-keyboard-coding-system 'utf-8)役に立ちますか?
名前

回答:


4

私はこの問題をたくさん扱ってきました。エンコーディングは、ファイル内の情報に依存します。ファイルにそれを特定するための情報が明示的に含まれていない場合は、上記のような結果が得られます。

異なるコーディングを必要とする多くの古いシステムが作業に含まれていない場合は、どこでもデフォルトのUTF-8コーディングを強制することを検討できます。少なくとも西洋では(とにかく私にとっては)、Web上で支配的であるため、これは実際には今日の標準です。ASCIIとの1対1のマッピングがあります。世界中の任意のUnicode文字を表すのに十分な柔軟性。しかし、EmacsがデフォルトでどこでもUTF-8を使用するようにするために:

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

評価されると、Emacsは新しいファイル、バッファー、プロセスなどをUTF-8であるかのように扱います。Emacsは、ファイル-*- coding: euc-tw -*-の先頭近くにこのようなファイルローカル変数がある場合でも、別のコーディングシステムを使用することに注意してください。(48.2.4 Local VariablesEmacsマニュアルの「ファイル」をチェックしてください。)


これらの行を.emacsに追加しました。ただし、新しいTeXファイルを作成した場合でも、 "file -bi"はus-asciiとしてエンコードされていると報告します。何か案は?
痛みを伴う英語

1

Emacsビルトインcompose-mail(Cx m)を使用してメールを送信しましたが、エンコーディングで同様の問題が発生しました。これがあなたに役立つかどうかはわかりません:

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

影響なし(質問を編集しました)
Damien Cassou

0

上記のすべての設定で、エンコードウィンドウが引き続き表示されました。さらに調査を行ったところ、その設定がわかりました。

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

私のために問題を解決しました。私はMac OS 10.14.5、Emacs 26.1に取り組んでいます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.