是否可以查询表情符号字符上的Firebase?

时间:2019-07-02 04:27:38

标签: ios swift firebase firebase-realtime-database emoji

我想从本机支持表情符号的swift执行Firebase查询。但是,我发现执行以~结尾的查询时出现奇怪的行为,其中跳过了与表情符号相关的结果。以下是我要执行的查询示例。起始值为某些名称,而终止值为由~连接的名称。我注意到,当名称以表情符号结尾时,查询中不会返回带有表情符号的名称。可以像使用Firestore中的罐子一样使用Firebase实时数据库时对表情符号执行查询吗?

Database.database()
    .reference(withPath: "TagIDs")
    .queryOrdered(byChild: "name")
    .queryStarting(atValue: startValue)
    .queryEnding(atValue: endValue)
    .observeSingleEvent(of: .value, with: { (snapshot) in
    …
  

输入名称=“家”

     

预期输出=“home?”

     

实际输出:快照为空

1 个答案:

答案 0 :(得分:1)

根据您的描述,您似乎在搜索:

Database.database()
    .reference(withPath: "TagIDs")
    .queryOrdered(byChild: "name")
    .queryStarting(atValue: "home")
    .queryEnding(atValue: "home~")

然后期望得到"home?"。但是?实际上在Unicode规范中的~之后,因此您的查询在?之前结束。

要获取以TagIDs开头的"home"值的完整范围,请在"home\uf8ff"处结束查询,其中\u{f8ff}是Unicode中最后一个代码点的转义。 / p>