修改编码为 UTF-8 后 display-time-mode 显示乱码

我用的是 Windows, 进行了如下设置

然后 runemacs -Q 再执行 (prefer-coding-system 'utf-8-unix).

打开 display-time-mode 后右下角就会变成这样:

image

请问有什么办法能让它正常显示吗?

把区域设置改回去,不然你后面会遇到各种软件问题。

在系统设置中设置 UTF-8 之前, 我的 Emacs 启动后默认使用 UTF-8 (在 init 文件中设置的), 所以启动前似乎是使用 GB 编码的, 能够正确识别 右键打开 时传递的文件名.

后来我使用了 daemon, Emacs 从开机之后就使用 UTF-8. 当我用右键使用 emacsclient 打开文件时, 就不能识别 右键打开 传递的文件名, 这个文件名似乎使用 GB 编码.

所以我在系统设置中选择了 UTF-8 编码, 上面的问题就解决了. 但是又出现了现在问的这个问题. 如果我把 UTF-8 切回去, 那么上面那个问题又回来了 …

很好奇各位道友对国标编码的看法是什么. 个人很不喜欢这玩意, 它可能有些存在的价值? 我不知道.

不知道你是怎么设置 daemon 的,我用下面的编码配置,用 emacsclient 打开文件没有问题

(prefer-coding-system 'utf-8)
(when sys-is-windows
  (setq file-name-coding-system 'gbk))
1 个赞

没想到啊, 还有 file-name-coding-system 这个选项. 谢谢佬