mongodb - Elixir Bson 解码器在 utf8 > 16#FF 上失败

标签 mongodb utf-8 bson elixir

我正在阅读 mongodb 并使用 Bson.decoder(data)。在此过程中,数据变成包含 {"unitˊs", 1} 的元组列表。 String.to_atom("unitˊs") 显然失败,因为第 5 个字符是“MODIFIER LETTER ACUTE ACCENT (U+02CA)”,其中

** (ArgumentError) 参数错误 :erlang.binary_to_atom("单位ˊs", :utf8)

http://erlang.org/doc/man/erlang.html#binary_to_atom-2笔记 如果二进制文件包含大于 16#FF 的 Unicode 字符,binary_to_atom(Binary, utf8) 将失败

有什么建议的解决方法吗?

最佳答案

在 Erlang 18 之前没有任何解决方法,它将支持原子的完整 unicode 范围。所以最好的选择是现在不要将其转换为原子。

关于mongodb - Elixir Bson 解码器在 utf8 > 16#FF 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27748643/

相关文章:

javascript - 使用空子文档集合保存 Mongoose 文档会导致重复键错误

java - 4 字节 UTF-8 序列的字节 2 无效,但仅在执行 JAR 时?

mysql - R控制台中的错误字符编码

mongodb - js 日期转 Bson 时间戳

string - Mongo C# 将 ObjectId 反序列化为字符串

mongodb - Apache Drill GROUP BY 错误

python - 使用 Dockerfile 安装 MongoDB 和 Tomcat

python - 表示波斯语格式的字节串序列

c - LibBSON 导出到缓冲区

c# - 使用 '.AnyIn' 方法为嵌套数组创建 MongoDB Builders 过滤器