Elixir 长生不老药/凤凰二元原子
我有一张表格Elixir 长生不老药/凤凰二元原子,elixir,phoenix-framework,Elixir,Phoenix Framework,我有一张表格 如果我只使用英语,它会非常好用。但中文,或任何其他返回错误 ** (ArgumentError) argument error :erlang.binary_to_atom("刺繡等等我", :utf8) (elixir) src/elixir_parser.yrl:512: :elixir_parser.yeccpars2_93/7 我相信这与编码有关。如何将字符串转换为可接受的格式 提前谢谢 自当前版本的Erlang(19)起,Atoms不能包含255以上的代码点 二元到二
如果我只使用英语,它会非常好用。但中文,或任何其他返回错误
** (ArgumentError) argument error
:erlang.binary_to_atom("刺繡等等我", :utf8)
(elixir) src/elixir_parser.yrl:512: :elixir_parser.yeccpars2_93/7
我相信这与编码有关。如何将字符串转换为可接受的格式
提前谢谢 自当前版本的Erlang(19)起,Atoms不能包含255以上的代码点 二元到二元原子(二元,utf8) 如果二进制文件包含大于255的Unicode代码点,则失败。在未来的版本中,这样的Unicode字符是允许的,并且二进制到原子(二进制,utf8)不会失败
[”刺繡等等我": "2“]
语法相当于[{:erlang.binary\u to\u atom(“刺繡等等我"), "2“}]
即,它将所有键转换为原子,并且您使用的文本包含255个以上的码点
由于select
支持生成两个项元组的任何可枚举项,因此可以使用较长的符号构造字符串的两个元素元组列表:
<%= select f, :user_id, [{"刺繡等等我", "2"}, {"wow", "3"}] %>
谢谢@Dogbert的回答!我现在来看看源代码。