Mac上的编码系统utf-8-默认为哪一个,为什么?


9

我想将默认的编码系统从未定义更改为UTF-8(我认为这很有用)。现在,我看到了许多不同的UTF-8编码系统:

mule-utf-8        mule-utf-8-dos
mule-utf-8-mac    mule-utf-8-unix
prefer-utf-8      prefer-utf-8-dos
prefer-utf-8-mac  prefer-utf-8-unix
utf-8             utf-8-auto
utf-8-auto-dos    utf-8-auto-mac
utf-8-auto-unix   utf-8-dos
utf-8-emacs       utf-8-emacs-dos
utf-8-emacs-mac   utf-8-emacs-unix
utf-8-hfs         utf-8-hfs-dos
utf-8-hfs-mac     utf-8-hfs-unix
utf-8-mac         utf-8-unix
utf-8-with-signature     utf-8-with-signature-dos
utf-8-with-signature-mac utf-8-with-signature-unix

我使用的是Mac,对于这些不同的hfs和mac编码系统,我进一步感到困惑。

目前,我决定根据此答案使用utf-8,如下所示

(setq utf-translate-cjk-mode nil) ; disable CJK coding/encoding (Chinese/Japanese/Korean characters)
(set-language-environment 'utf-8)
;; (set-keyboard-coding-system 'utf-8-mac) ; For old Carbon emacs on OS X only
(setq locale-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(unless (eq system-type 'windows-nt)
  (set-selection-coding-system 'utf-8))
(prefer-coding-system 'utf-8)

但是我想了解更多我在做什么,以及为什么另一个utf-8作为默认编码系统会更好?


1
此答案提供了有关不同utf-8变体的良好背景。
Juancho 2015年

我没有utf-8-hfs在emacs上看到朋友,但是有utf-8-nfd。这是OS X用于编码文件名的编码。NFD用于规范化形式规范分解。NFC是更常用的(C表示成分)。一个区别是,类似于å的字母在NFC中被编码为单个代码点,而在NFD中则被编码为两个代码点(字母a后跟上面的环的组成字符)。您可能应该忘记这些编码。只是希望文件名能自动正确编码。
Harald Hanche-Olsen

@Juancho谢谢-因此,我认为使用utf-8作为常规设置时可以。谢谢。
Rainer

@ HaraldHanche-Olsen OK-由于我仅使用ASCII作为文件名,所以我应该可以。谢谢。
Rainer

2
AFAIK,utf-8是macos下用于大多数事情的编码系统,Emacs应该已经为您选择了相应的编码系统。IOW,我认为您根本不需要配置。请说明为什么您“想要更改我的默认编码系统”。也许您只是遇到了Emacs错误。
Stefan's

Answers:


0

Emacs有[Menu]->[Options]->[Multilingual Environment]->[Describe Coding System...]C-h C解释的差异,澄清对不同的编码系统。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.