表情符号中断REST呼叫

时间:2012-03-12 23:18:30

标签: ios rest node.js mongodb emoji

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

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

1 个答案:

答案 0 :(得分:1)

MongoDB支持utf8,遗憾的是,表情符号字符是utf8mb4,许多应用程序和语言尚不支持(包括MongoDB)。 Unescape似乎是目前最好的事情。

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