我正在尝试阅读包含变音符号和类似内容的文本文件的内容。我已经在Erlang中更新了关于unicode的东西,但我仍然无法弄清楚如何正确读取文件。 这是我读取文件的代码:
reader (File) ->
case io:get_line(File,'') of
eof -> [];
{error, Reason} -> Reason;
Line -> [Line] ++ reader(File)
end.
但最后我的结果是:ü
在阅读ü
我如何转换Line
以获得预期结果?
答案 0 :(得分:3)
该文件看起来像是用utf-8编码的,但是Erlang在latin1中读取它。
获取句柄时指定编码:
file:open(Fname, [read, {encoding,utf8}])
语法可能已关闭,我从the manual复制粘贴。