在SQLite中仅使用UTF8编码,我可以从ICU数据集中删除什么?

在SQLite中仅使用UTF8编码,我可以从ICU数据集中删除什么?,sqlite,icu,Sqlite,Icu,ICU提供了一种减小.dat文件大小的方法。我几乎可以肯定我不需要大多数默认的编码。如果我想专门为sqlite构建一个CJK.dat文件,我可以剪切哪些文件 我只需要标记器工作,可能还需要整理。似乎所有这些字符转换都不是必需的。17MB太胖了!对于所有数据库,我们使用 PRAGMA encoding = UTF8; 数据自定义程序链接: 换句话说,如果我在SQLite中使用UTF8进行整理和索引,我真正需要dat文件的哪些部分?我敢打赌,绝大多数人从未使用过。我怀疑我不需要字符集映射表,也可能

ICU提供了一种减小.dat文件大小的方法。我几乎可以肯定我不需要大多数默认的编码。如果我想专门为sqlite构建一个CJK.dat文件,我可以剪切哪些文件

我只需要标记器工作,可能还需要整理。似乎所有这些字符转换都不是必需的。17MB太胖了!对于所有数据库,我们使用

PRAGMA encoding = UTF8;
数据自定义程序链接:

换句话说,如果我在SQLite中使用UTF8进行整理和索引,我真正需要dat文件的哪些部分?我敢打赌,绝大多数人从未使用过。我怀疑我不需要字符集映射表,也可能不需要一些杂项数据

重症监护病房。 该工具将生成一个仅可用于4.8系列ICU的数据库。“帮助”页面提供了有关如何使用此工具的信息

  • 字符集映射表(4585KB)(我们正在讨论页面。)

    我从最大的项目开始,并能够完全忽略这些:

    • 字符集映射表
    • 杂项数据
    我必须包括collator,但只包括我支持的语言


    我试图修剪中断迭代器,但它坏了,所以我停在那里。没有比这更大的了

    对于collator,如果我想使用Unicode排序,我可以一起消除它吗?或者FTS3/4是否以某种方式使用了它。我怀疑“Unicode排序”只是数字,因此对任何带有变音符号的语言都没有用处。好吧,我想我最终还是想要它。如果FTS是一个标记器,我想它使用中断迭代。这里的评论不错-sFTS使用ICU标记器,尽管我甚至不确定是否需要本地化标记器。也许基础已经足够了。哎哟,在“source/data/locales/*.txt文件”中已经有一段时间没有“CollationElements条目”了。更新了一点。@StevenR.Loomis你能解释一下这个评论吗?
    sqlite> CREATE VIRTUAL TABLE test USING fts4(tokenize=icu);
    sqlite> CREATE VIRTUAL TABLE testaux USING fts4aux(test);
    sqlite> .import test.csv test
    Error: SQL logic error or missing database