如何在 Lisp(sbcl+slime) 中打开名称包含 unicode 代码的文件?
How to open a file which name contain unicode code in Lisp(sbcl+slime)?
(with-open-file (s "~/例子.txt"
:external-format :utf-8)
(print s))
结果:
NIL c-string encoding error:
the character with code 20363 cannot be encoded.
[Condition of type SB-INT:C-STRING-ENCODING-ERROR]
示例:
在带有最新粘液和 sbcl2.0.2 的 Aquamacs 3.5 中:
iterm2中的sbcl可以做到:
Aquamacs 本身也可以正确打开和写入包含 utf-8 的文件名。
我尝试添加
(setq slime-net-coding-system 'utf-8-unix)
(set-language-environment "UTF-8")
在我的 aquamacs 配置文件中,但它不起作用。
请帮忙!
更新:
我终于找到了原因。
在 Iterm2 中,命令
locale
给出了这个输出:
虽然在 Aquamacs 中从 ui 打开,但在 eshell 中它给出:
我添加后:
(setenv "LANG" "en_US.UTF-8")
我的 Aquamacs 配置成功了!
感谢所有回答我问题的人!
以下是对我有帮助的链接。
添加如下内容:
(setenv "LANG" "en_US.UTF-8")
到您的 emacs 配置。
解释在上面。
(with-open-file (s "~/例子.txt"
:external-format :utf-8)
(print s))
结果:
NIL c-string encoding error:
the character with code 20363 cannot be encoded.
[Condition of type SB-INT:C-STRING-ENCODING-ERROR]
示例:
在带有最新粘液和 sbcl2.0.2 的 Aquamacs 3.5 中:
iterm2中的sbcl可以做到:
Aquamacs 本身也可以正确打开和写入包含 utf-8 的文件名。
我尝试添加
(setq slime-net-coding-system 'utf-8-unix)
(set-language-environment "UTF-8")
在我的 aquamacs 配置文件中,但它不起作用。 请帮忙!
更新: 我终于找到了原因。 在 Iterm2 中,命令
locale
给出了这个输出:
虽然在 Aquamacs 中从 ui 打开,但在 eshell 中它给出:
我添加后:
(setenv "LANG" "en_US.UTF-8")
我的 Aquamacs 配置成功了! 感谢所有回答我问题的人! 以下是对我有帮助的链接。
添加如下内容:
(setenv "LANG" "en_US.UTF-8")
到您的 emacs 配置。 解释在上面。