日本語/中国語文字を使用すると、Muttテーマが壊れて表示されます。

日本語/中国語文字を使用すると、Muttテーマが壊れて表示されます。

muttコマンドを使用する場合:

mutt  -e "set content_type=text/plain"  -e "my_hdr From:[email protected]" -s "取样更多 サンプル 样品 text" -c "取样更多" -a "サンプル取样更多"

今、この電子メールは明らかに送信されません。ただし、問題は、使用している電子メールを表示すると、sudo postsuper -q ID電子メールの件名が次のように歪んでいることです。

*** ENVELOPE RECORDS deferred/8/874FF381CDB ***
message_size:             682             346               2               0             682               3
message_arrival_time: Mon Sep 14 19:44:38 2020
create_time: Mon Sep 14 19:44:38 2020
named_attribute: rewrite_context=local
sender_fullname: My_name
sender: my_name@my-pc
named_attribute: dsn_orig_rcpt=rfc822;[email protected]
original_recipient: [email protected]
recipient: [email protected]
named_attribute: dsn_orig_rcpt=utf-8;取样更多@my-pc
original_recipient: 取样更多@my-pc
done_recipient: 取样更多@my-pc
*** MESSAGE CONTENTS deferred/8/874FF381CDB ***
Received: by my-pc (Postfix, from userid 1000)
    id 094FF381CDB; Mon, 14 Sep 2020 19:44:38 +0530 (IST)
Date: Mon, 14 Sep 2020 19:44:38 +0530
From: My_name <[email protected]>
To: [email protected]
Cc: 取样更多@my-pc
Subject: =?utf-8?B?5Y+W5qC35pu05aSaIOOCteODs+ODlw==?=
 =?utf-8?B?44OrIOagt+WTgQ==?= text
Message-ID: <20200914141438.GA4858@my-pc>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: attachment; filename*=utf-8''%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB%E5%8F%96%E6%A0%B7%E6%9B%B4%E5%A4%9A
Content-Transfer-Encoding: 8bit
User-Agent: Mutt/1.10.1 (2018-07-13)

サンプル body of the attached file in chinese 取样更多
*** HEADER EXTRACTED deferred/8/874FF381CDB ***
named_attribute: encoding=8bit
*** MESSAGE FILE END deferred/8/874FF381CDB ***

現在の内容は次のとおり~/.muttrcです。

set config_charset=utf-8
set signature="iconv -f utf-8 ~/.signature |"
set charset="utf-8"
set send_charset="utf-8"
set rfc2047_parameters="yes"
set assumed_charset="utf-8"

いくつかの重要なロケール環境変数は次のとおりです。

LANG=en_IN.utf8
LANGUAGE=
LC_CTYPE=en_IN.utf8
LC_NUMERIC=en_IN
LC_TIME=en_IN
LC_COLLATE="en_IN.utf8"
LC_MONETARY=en_IN
LC_MESSAGES=en_IN.utf8
LC_PAPER=en_IN
LC_NAME=en_IN
LC_ADDRESS=en_IN
LC_TELEPHONE=en_IN
LC_MEASUREMENT=en_IN
LC_IDENTIFICATION=en_IN
LC_ALL=

mutt -vはMutt 1.10.1 (2018-07-13)

1つの重要な点は、私のメールがファイルに保存されることです/var/mail/my_name。したがってvim、このファイルを編集するかエディタを使用しても同じ結果が得られますが、進化を使用してこのファイルを開くと、すべてが正しいとマークされます。

ベストアンサー1

質問は歪んでいません。エンコードされていますMIMEエンコードされた単語形式。電子メールには単一の標準エンコーディングはありません。 Content-Type ヘッダーは本文のエンコーディングを表しますが、Subject などのヘッダーには適用されません。ヘッダーに非ASCII文字が含まれている場合は、エンコードを表す形式でエンコードする必要があります。ここでコードワードが機能します。

=?utf-8?B?…?=UTF-8バイトはBase64でエンコードされた単語です。 UTF-85Y+W5qC35pu05aSaIOOCteODs+ODlw==バイトの Base64 表現です。取样更多

$ echo '=?utf-8?B?5Y+W5qC35pu05aSaIOOCteODs+ODlw==?=
 =?utf-8?B?44OrIOagt+WTgQ==?= text' |
python3 -c '
import sys;
from email.header import decode_header;
print("".join(text.decode(encoding or "ascii") for text, encoding in decode_header(sys.stdin.read())))
'
取样更多 サンプル 样品 text

おすすめ記事