不谈Spacemacs,只谈Centaur Emacs

那么问题出在了 中文tex文档读取的时候错了。你用emacs 打开这个tex,文件名有什么问题吗?

用外部的程序可以编译,我试了vscode也可以,但就是emacs不行,emacs的dashboard显示的文件名是对的,但C-c,C-c一编译,就提示这个问题。

我把网院.tex改成wangyuan.tex就又可以编译了。

org-latex-pdf-process 这个变量的值是什么?

有没有设置 default-process-coding-system 为gbk ?

你的配置中不是(setq default-process-coding-system '(utf-8 . utf-8))吗

后面有判断是windows时重新设置为gbk了。

加上了也没用,还是同样的问题,奔溃中。

你在菜单栏中将multi environment->set language environment → chinese ->chinese-gbk 就可以了。刚在 windows 上测试了下可以。

win 上如果是utf-8 就出这个问题。

如果是 chinese-gbk 就可以。

谢谢您,我再试试,不行就不折腾了,乖乖用英文名了。

肯定是配置问题。

如果只留这一句(set-language-environment 'Chinese-GB)编码设置,确实可以编译成功,但我的dashboard的横线只有一半了。

横线去了呗,也没什么用。应该是page-line-break吧。

除了好看点,dashboard还导致加载慢,尤其在win 上,这类插件我现在是能不用就不用。

你确定用GBK试过了?Windows上用GBK是没问题的,UTF-8 新版本应该也是没问题的。先找清楚原因再解决事半功倍。为什么大家每次报问题都不描述清楚一点,连平台、版本都不提一下。。。

1 个赞

win11,emacs28.1,我就不加编码了,用英文命名就行了。

1 个赞

debug 靠猜 :crazy_face:

1 个赞

win下就没有一个完美的一劳永逸的编码设置方案吗?

;;use unicode everywhere
(when (fboundp 'set-charset-priority)
  (set-charset-priority 'unicode))
(prefer-coding-system 'utf-8-unix)
(modify-coding-system-alist 'process "*" 'utf-8-unix)
(set-buffer-file-coding-system 'utf-8-unix)
(set-file-name-coding-system 'utf-8-unix)
(set-default-coding-systems 'utf-8-unix)
(set-keyboard-coding-system 'utf-8-unix)
(set-terminal-coding-system 'utf-8-unix)
(set-language-environment "UTF-8")
(setq locale-coding-system 'utf-8-unix)
(setq default-process-coding-system '(utf-8-unix . utf-8-unix))

;;windows没有启用unicode时,中文语言是gbk编码gb18030会导致有些中文字符找不到字体
(when (eq system-type 'windows-nt)
  (setq locale-coding-system 'chinese-gbk))

(when (eq system-type 'windows-nt)
  (setq default-process-coding-system '(gbk . gbk)))

;;The clipboard on windows dose not play well with utf8
(unless (eq system-type 'windows-nt)
  (set-clipboard-coding-system 'utf-8)
  (set-selection-coding-system 'utf-8))

;; 英文日期,会影响日期格式
(setq system-time-locale "C")

用了这段问题解决了中文名org转pdf失败的问题,从浏览器复制粘贴到emacs乱码的问题也没有了,现在有一个问题就是我用windows下写的txt文档用emacs打开乱码。

(modify-coding-system-alist 'file "txt" 'chinese-gbk) 加了这句可以正确显示txt,但不知道有没有什么不良后果。