@mezi @aqua0210 两位大哥好,由于我是内网环境,而且不能插u盘,只能拍照片说明了。 新执行的emacs -q,执行的设置就是图一中的,图二是dired界面,按:e会报错,中文文件名会已乱码的形式显示,所以才让gpg抛出了错误,请大哥们看看这怎么办😣
你系统文件名已经是 UTF-8 了
UTF-8 的 “你好” 用 gbk 解码就是 “浣犲ソ”
不知道作用的配置不要乱抄
可是我是用win7的文件管理器新建的文件啊,那该如何设置呢
不用设置就能成功,如果不设置还是不行,把 gbk 改成 utf-8
还是不行,file-name-coding-system改成utf-8也是不行
-
file-name-coding-system 这个变量在 Windows 上改了没用,文档说了 Emacs 根本不看这个变量的
-
后面的 add-to-list 重新启动 emacs 再设置
-
默认的设置出什么问题,截图发下
抱歉,内网禁u盘系统,只能拍照片凑合看看了
以上都是关闭emacs进程后,重新打开的emacs -q,其实很单纯的操作,就是在dired里面用epa加密而已。 我在linux环境下从没遇到这种问题,最近是想在单位电脑设置emacs环境,结果发现一堆问题,包括不限于rg之类的中文搜索问题,造成无法快速搜索文本资料的情况,不过这个先不管了。我再试试上面几个朋友的设置。
我一般都这样设置
(set-default 'process-coding-system-alist
'(
("[pP][lL][iI][nN][kK]" utf-8-dos . gbk-dos)
("[cC][mM][dD][pP][rR][oO][xX][yY]" utf-8-dos . gbk-dos)
)))
(add-to-list 'process-coding-system-alist '("firefox.exe" utf-8 . gbk))
遗憾 我把firefox.exe改成了gpg.exe,还是不行。难道是gpg4win自身的问题?
你这不还是 gbk 么?完全一样的图
(add-to-list 'process-coding-system-alist '("firefox.exe" utf-8 . gbk))
这个process-coding-system-alist值要根据你程序自身去判断,绝大部情况编码是 utf-8 . gbk
。
我试过有些程序设置成gbk-dos . gbk-dos
才行,可以试试。
(set-default 'process-coding-system-alist
'(
("[pP][lL][iI][nN][kK]" gbk-dos . gbk-dos)
("[cC][mM][dD][pP][rR][oO][xX][yY]" gbk-dos . gbk-dos)
))
你可以试试,将它默认设置成gbk-dos . gbk-dos
,看看行不行。
有没可能是你调用的那个函数里,已经设置了编码?
他文件系统已经是 UTF-8 了,问题是传给 gpg 的是 gbk 反而是错误的
(setq default-process-coding-system '(utf-8 . utf-8))
这样有没有作用?
还是不行。
换了另一台win10的,开了utf-8后就都没问题了,但是我想在工作电脑win7上设置,唉,有没有像玩三国志那种编码转换软件
还是和老板建议吧操作系统升级吧. Windows 7安全更新都没了.
我最近在Windows eshell下 也遇到了编码问题,非常奇怪。
比如写一个只有 fmt.Println(“你好”) 的 go 程序,文件编码设置了 utf-8,只有在 eshell 中运行这个程序时会显示“浣犲ソ”,cat 这个文件时显示是“你好”。其他所有包括 cmd,powershell 等打印出来都是“你好”。甚至 shell-command 跑出来也是“你好”。难道 eshell 运行的程序要额外设置 coding-system ?
确实需要,试了一下
(setq-local coding-system-for-read 'utf-8)
eshell 下就正常了。