在Elixir中尝试写入Unicode字符到文件时出现“no_translation error”。

7

我有一个正在读取并写入文件的流,但是由于存在 ,所以出现了错误。我认为这是因为我使用了错误的编码方式打开文件,但是我不知道如何正确地设置:

file = File.open!("/some/path.csv", [:write])
IO.write(file, "’")

这将导致以下错误:
``` ** (ErlangError) erlang error: :no_translation (stdlib) :io.put_chars(#PID<0.250.0>, :unicode, "’") ```
(注意:保留了 HTML 标签)
1个回答

16

你应该以:utf8模式打开这个文件。

file = File.open!("/tmp/foo.txt", [:write, :utf8])
IO.write(file, "’")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接