如何在Erlang shell中输出UTF-8?

smi*_*arm 5 erlang

请考虑以下代码段:

Eshell V5.9.1  (abort with ^G)
1> A="Pamet".
"Pamet"
2> A1="Pam??".
[80,97,109,283,357]
Run Code Online (Sandbox Code Playgroud)

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

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

Ali*_*lin 13

在这里,您可以找到有关正在进行的操作以及如何操作的一些解释: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> 
Run Code Online (Sandbox Code Playgroud)