如何打开名称包含 UTF-8 字符的文件?例如:
(open "~/a/你好.txt")
给这个:
The filesystem does not accept filenames with extended characters: "~/a/你好.txt"
我正在使用来自 gentoo 的 ecl 16.1.3。同时,sbcl 可以打开文件。
如何打开名称包含 UTF-8 字符的文件?例如:
(open "~/a/你好.txt")
给这个:
The filesystem does not accept filenames with extended characters: "~/a/你好.txt"
我正在使用来自 gentoo 的 ecl 16.1.3。同时,sbcl 可以打开文件。
我很确定 ECL 根本不支持 Unix 或 Linux 上的通用 unicode 文件名,但是它们在底层文件系统中被编码(我也不知道现在 *nix 是如何发生的,尽管我想现在必须有一个标准)。
您看到的特定错误源自此处,在pathname.d
. 如果您随后查看,unixfsys.d
您会发现这是传递到各处ECL_NAMESTRING_FORCE_BASE_STRING
的标志之一,并且不受任何条件限制。ecl_namestring
所以至少你需要从头开始编译 ECL,而且更可能它根本不支持通用的 unicode 文件名。