如何在 Erlang shell 中输出 UTF-8



请考虑以下代码片段:

Eshell V5.9.1  (abort with ^G)
1> A="Pamet".
"Pamet"
2> A1="Paměť".
[80,97,109,283,357]

("Paměť"是捷克语中"记忆"的意思。我选择它是因为它包含两个 Erlang 认为"不可打印"的字符。IIRC Erlang起源于瑞典,假设如果拉丁语1中不存在一个字符,则它是不可打印的。因此,即使我在现代 Linux 机器上运行 shell,其中所有内容都是 UTF-8,它也会输出一个整数列表而不是"Paměť"。

我的问题:如何将 UTF-8 字符串写入屏幕,使其显示为字符串,而不是整数列表?

在这里,您可以找到一些关于正在发生的事情以及如何操作的解释: http://www.erlang.org/doc/apps/stdlib/unicode_usage.html

基本上,您可以使用如下内容进行检查:

1> lists:keyfind(encoding, 1, io:getopts()).
{encoding, unicode}
2> io:format("~ts~n",["Paměť"]).
Paměť
ok
3> 

最新更新