Erlang:阅读非英语字母并打印

qf9go6mv  于 2022-12-16  发布在  Erlang
关注(0)|答案(1)|浏览(188)

我正在写一个代码,读取一个csv文件在erlang。
我从csv中得到一个字符串,例如:
Alexandria ·布贝克|弗洛里安·魏斯哈特|马蒂亚斯·格鲁勒|乌尔里希·雷泽
然后我使用这些命令,以将其列表并打印到终端:

Authors = string:tokens(element(2,Row),[$|]),
io:format("The authors in row ~p are: ~p~n", [Num,Authors])

问题出在这个名字上:弗洛里安·魏斯哈特
因为它有一个非英语字母,所以输出为[70,108,111,114,105,97,110,32,87,101,105,195,159,104,97,114,100,116]
我该如何解决这个问题?
谢谢

wgmfuz8q

wgmfuz8q1#

尝试将列表转换为utf8unicode的二进制:

1> 1> Authors = [70,108,111,114,105,97,110,32,87,101,105,195,159, 104,97,114,100,116].
[70,108,111,114,105,97,110,32,87,101,105,195,159,104,97,114, 100,116]
2> io:format("The authors: ~ts~n", [list_to_binary(Authors)]).
The authors: Florian Weißhardt
ok
3> list_to_binary(Authors).
<<"Florian Weißhardt"/utf8>>

相关问题