我正在尝试加载 hunchentoot通过 quicklisp在 slime ,并收到以下错误:
READ error during COMPILE-FILE:
:ASCII stream decoding error on
#<SB-SYS:FD-STREAM
for "file [redacted]/dists/quicklisp/software/rfc2388-20120107-http/rfc2388.asd"
{100607B723}>:
the octet sequence #(196) cannot be decoded.
(in form starting at line: 29, column: 29,
file-position: 1615)
[Condition of type ASDF:LOAD-SYSTEM-DEFINITION-ERROR]
我在尝试运行时得到这个:
(ql:quickload "hunchentoot")
或者干脆:
(ql:quickload "rfc2388")
好像别人是getting this也。我找到了一个 hint在一个可能的答案中,说:
The system file is encoded as UTF-8.
I'm not sure how to configure things so that SBCL on Windows starts with
UTF-8 as its default encoding for loading sources, but that's what you
need to do.
从那里,我已经尝试过(基于例如 [this] 将以下内容添加到我的 emacs 配置中:
(set-language-environment "UTF-8")
(setq slime-lisp-implementations
'((sbcl ("/opt/local/bin/sbcl") :coding-system utf-8-unix)))
(setq slime-net-coding-system 'utf-8-unix)
但是...即使在完全重新启动 emacs 之后,我仍然遇到相同的错误,以确保我有一个正在读取上述配置的新 Slime。
那么,我错过了什么,和/或以其他方式如何加载它?
提前致谢! (更多感谢您的成功回答。;)
最佳答案
你检查过你的语言环境设置吗? Emacs 配置只告诉它为 SLIME 和 SWANK 之间的通信设置什么编码系统。
您可以使用/usr/bin/locale 检查区域设置,例如:
navi ~ » locale
LANG=pl_PL.UTF-8
LC_CTYPE=pl_PL.UTF-8
LC_NUMERIC=pl_PL.UTF-8
LC_TIME=pl_PL.UTF-8
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY=pl_PL.UTF-8
LC_MESSAGES=C
LC_PAPER=pl_PL.UTF-8
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT=pl_PL.UTF-8
LC_IDENTIFICATION=pl_PL.UTF-8
LC_ALL=
navi ~ »
如您所见,我的所有地方都设置为 UTF-8,除了显示“C”消息。
关于utf-8 - 如何让 quicklisp 在 Slime 中加载 rfc2388?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10866478/