0

在测试我们的 API 时,我们的一位测试人员发现,当他们在 iOS 设备上插入表情符号图标时,它会成功保存到我们的 MongoDB,但是在检索它时,他们没有得到响应。我确认了这一点,我们的服务器(Node.js)将收到请求,并开始发送数据,但是(我认为)在某个地方,表情符号字符“终止”了请求,或者导致它永远不会完成iOS客户端的眼睛。

有没有人经历过这个?如果是这样,您处理表情符号图标的最佳方法是什么。我知道一种方法是 unescape() 从 Node.js 发出的每个字符串,但这似乎是一种不太干净的方法,而且我需要在客户端解码文本。

4

1 回答 1

1

MongoDB 支持 utf8,不幸的是,emoji 字符是 utf8mb4,许多应用程序和语言还不支持(包括 MongoDB)。Unescape 似乎是目前最好的做法。

或者,您可以将其存储为二进制文件,但是您需要以不同的方式查询它,并且无法使用正则表达式进行查询(但会保留本机字符)。

于 2012-03-21T18:17:52.007 回答