在AIR应用程序中,您可以通过flash.data类使用sqlite.看来,默认情况下,创建的数据库的编码设置为UTF-16le,这意味着文本数据以每个字符两个字节存储,导致ASCII重的数据库内容几乎100%的开销.
原文链接:https://www.f2er.com/sqlite/197568.html假设shell程序(sqlite3)是指示性的,sqlite数据库的默认值为UTF-8.大概Adobe已经决定用某种原因来覆盖它,但是如果可能的话我宁愿不要浪费这个空间.
PRAGMA encoding =“UTF-8”;在将任何数据写入数据库之前的声明通常会解决问题,但也可以出现that’s not allowed in AIR.
我现在的解决方法是使用我之前创建并捆绑到应用程序中的“template.db”.在这个template.db中,我手动将编码设置为UTF-8.如果数据库文件在我的程序启动时不存在,我通过将该模板复制到我的数据库文件中创建它,然后继续打开并正常使用它.我已经确认,根据需要将TEXT数据存储为UTF-8.
我还没有看到任何不良影响,但这是黑客.有没有更好的方式将编码设置为UTF-8?还是因为某种原因是坏主意?