Next: Charset Translation, Previous: Advanced MML Example, Up: Composing [Contents][Index]

### 2.4 Encoding Customization

`mm-body-charset-encoding-alist`

  Mapping from MIME charset to encoding to use. This variable is usually used except, e.g., when other requirements force a specific encoding (digitally signed messages require 7bit encodings). The default is

      ((iso-2022-jp . 7bit)
       (iso-2022-jp-2 . 7bit)
       (utf-16 . base64)
       (utf-16be . base64)
       (utf-16le . base64))

  As an example, if you do not want to have ISO-8859-1 characters quoted-printable encoded, you may add `(iso-8859-1 . 8bit)` to this variable. You can override this setting on a per-message basis by using the `encoding` MML tag (see MML Definition).

`mm-coding-system-priorities`

  Prioritize coding systems to use for outgoing messages. The default is `nil`, which means to use the defaults in Emacs, but is `(iso-8859-1 iso-2022-jp utf-8)` when running Emacs in the Japanese language environment. It is a list of coding system symbols (aliases of coding systems are also allowed, use `M-x describe-coding-system` to make sure you are specifying correct coding system names). For example, if you have configured Emacs to prefer UTF-8, but wish that outgoing messages should be sent in ISO-8859-1 if possible, you can set this variable to `(iso-8859-1)`. You can override this setting on a per-message basis by using the `charset` MML tag (see MML Definition).

  As different hierarchies prefer different charsets, you may want to set `mm-coding-system-priorities` according to the hierarchy in Gnus. Here’s an example:

      (add-to-list 'gnus-newsgroup-variables 'mm-coding-system-priorities)
      (setq gnus-parameters
            (nconc
             ;; Some charsets are just examples!
             '(("^cn\\." ;; Chinese
                (mm-coding-system-priorities
                 '(iso-8859-1 cn-big5 chinese-iso-7bit utf-8)))
               ("^cz\\.\\|^pl\\." ;; Central and Eastern European
                (mm-coding-system-priorities '(iso-8859-2 utf-8)))
               ("^de\\." ;; German language
                (mm-coding-system-priorities '(iso-8859-1 iso-8859-15 utf-8)))
               ("^fr\\." ;; French
                (mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8)))
               ("^fj\\." ;; Japanese
                (mm-coding-system-priorities
                 '(iso-8859-1 iso-2022-jp utf-8)))
               ("^ru\\." ;; Cyrillic
                (mm-coding-system-priorities
                 '(koi8-r iso-8859-5 iso-8859-1 utf-8))))
             gnus-parameters))

`mm-content-transfer-encoding-defaults`

  Mapping from MIME types to encoding to use. This variable is usually used except, e.g., when other requirements force a safer encoding (digitally signed messages require 7bit encoding). Besides the normal MIME encodings, `qp-or-base64` may be used to indicate that for each case the most efficient of quoted-printable and base64 should be used.

  `qp-or-base64` has another effect. It will fold long lines so that MIME parts may not be broken by MTA. So do `quoted-printable` and `base64`.

  Note that it affects body encoding only when a part is a raw forwarded message (which will be made by `gnus-summary-mail-forward` with the arg 2 for example) or is neither the ‘`text/*`’ type nor the ‘`message/*`’ type. Even though in those cases, you can override this setting on a per-message basis by using the `encoding` MML tag (see MML Definition).

`mm-use-ultra-safe-encoding`

  When this is non-`nil`, it means that textual parts are encoded as quoted-printable if they contain lines longer than 76 characters or starting with "From " in the body. Non-7bit encodings (8bit, binary) are generally disallowed. This reduce the probability that a non-8bit clean MTA or MDA changes the message. This should never be set directly, but bound by other functions when necessary (e.g., when encoding messages that are to be digitally signed).

Next: Charset Translation, Previous: Advanced MML Example, Up: Composing [Contents][Index]