【问题标题】:Emoji not saved correctly in mongodb表情符号未正确保存在 mongodb
【发布时间】:2015-10-09 09:47:19
【问题描述】:

我正在将 twitter 和 instagram 中的表情符号保存到我的 mongodb 数据库中。 但是当我显示从数据库中提取的数据时。 表情符号看起来像这样坏了❤️����������☀️��

在将数据保存到 mongodb 期间我需要做一些不同的事情吗,我是 mongodb 的新手。 我已经阅读了表情符号的使用 utf8-mb4 编码,但 mongodb 仅支持 UTF8。

【问题讨论】:

    标签: ruby-on-rails mongodb utf-8 emoji


    【解决方案1】:

    UTF8 是 MongoDB 支持的默认编码,支持包括 utf8-mb4 在内的所有字符(可变字节长度)(详见下文)。在将数据上传到 MongoDB 之前,您可能没有将数据转换为 UTF-8,或者在检索数据时没有将数据视为 UTF-8。

    澄清一下,MySQL 的原始实现“utf8”最多只有 3 个字节,而名为“utf8-mb4”的 MySQL 实现实际上最多 4 个字节(就像官方 RFC 推荐的那样)。所以 utf8 MySQL 中的 -mb4 与 MongoDB 中的 UTF8 相同。

    【讨论】:

    • 嗨 Jaco,我检查了数据库,现在表情符号已正确存储,但当它们出现在网页上时,表情符号似乎已损坏。
    • 我什至在 html 头中添加了 但它们仍然出现损坏。
    • 您如何从 MongoDB 中检索数据?
    • 嗨 Jaco,抱歉这么晚才回复,我正在使用查询 Content.where(_where_content(type)).order_by(:content=>:desc).limit(@page_size[ type.to_sym]).to_a 我后来将其转换为哈希形式并使用 js 显示。
    • @Yati - 你知道怎么做了吗?
    【解决方案2】:

    mongodb中的UTF-8自然支持emoji表情

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      • 2016-10-05
      • 2018-06-27
      • 2015-07-29
      • 2019-11-13
      • 1970-01-01
      • 2014-07-06
      相关资源
      最近更新 更多