我怀疑差异的根本原因可能与操作系统、JDK版本、REPL是否在IDE如VSCode的Calva、Emacs的CIDER内部运行,或是在终端中运行,以及可能由JVM使用的环境变量设置有关。这些变量用于确定OS和Linux系统中的字符集,如LC、LANG、TERM等。
至少在macOS 10.14.6的内置终端、AdoptOpenJDK 15.0.1和在该终端中启动的版本为1.10.1.763的clojure
,以及以下环境变量值的情况下,我得到了预期的结果
$ env | egrep '(LC|LANG|TERM)'