【问题标题】:Data base with unicode support for cross-platform mobile application支持跨平台移动应用的 unicode 数据库
【发布时间】:2018-02-26 04:50:55
【问题描述】:

我正在使用 react-nativeiOS 重写我的应用程序,以便同时支持 Android 和 iOS 平台。
我曾尝试将 Realm 作为数据库,但遇到了 缺乏对 react-native 的 unicode 支持
在 iOS 上,我使用了核心数据,一切正常。

是否有任何支持 unicode 的 react-native 数据库?
将数据库引入跨平台移动应用程序时,通常/有用的模式是什么?我应该在最高级别为所有平台添加它,还是应该为每个平台单独添加?

更新:
Realm 团队官方告诉我 react-native 没有 unicode 支持(https://forums.realm.io/t/issue-with-requests-containing-unicode-characters/994?u=spineight)

【问题讨论】:

  • 不知道为什么你在使用 Realm 时会遇到错误,因为它在其他平台上肯定支持 Unicode,我不明白为什么 JavaScript 版本会例外。有关在应用程序中存储数据的选项,请参阅 this question
  • @BrunoEly 你好,我得到了 Realm 团队的官方答复,即 react-native 不支持 unicode (forums.realm.io/t/…)
  • 哦,这真的很有趣,我一定是在限制下错过了它......仍然有很多选项支持 Unicode(请参阅我链接的问题),例如 SQLite
  • @BrunoEly 你确定 SQLite 支持 unicode 吗?官方网站上没有关于它的信息,我已经提出了要求。我的想法是从官方来源确保在开始实施时支持 unicode,以减少为此花费的时间。我之前已经多次查看此列表,不幸的是没有信息是否支持 unicode,这就是我发布此问题的原因

标签: database react-native mobile unicode cross-platform


【解决方案1】:

link you shared开始,Realm实际上支持Unicode,虽然it does not support case insensitive matching for characters outside of the range UTF-8 0–591

  1. 字符串排序和不区分大小写的查询仅支持“Latin Basic”、“Latin Supplement”、“Latin Extended A”、“Latin Extended B”(UTF-8 范围 0-591)中的字符集。

只要你在 SQLite 中将编码设置为 UTF-8,它应该允许你使用 SQL LIKE 语句,在 UPPER()LOWER() 函数的帮助下,进行不区分大小写的比较(虽然在 JavaScript 和 Realm 中可能会实现相同的效果)。见this

【讨论】:

    猜你喜欢
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 1970-01-01
    • 2011-04-08
    • 2022-09-23
    相关资源
    最近更新 更多