将AIR应用程序中的SQLite数据库编码更改为UTF-8

前端之家收集整理的这篇文章主要介绍了将AIR应用程序中的SQLite数据库编码更改为UTF-8前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在AIR应用程序中,您可以通过flash.data类使用sqlite.看来,默认情况下,创建的数据库的编码设置为UTF-16le,这意味着文本数据以每个字符两个字节存储,导致ASCII重的数据库内容几乎100%的开销.

假设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?还是因为某种原因是坏主意?

没有找到其他解决方法或答案,我发布我的解决方法作为答案.在过去两年的PlayBook应用程序中,它运行正常,因此可能没有意外的副作用,至少在这种环境中:

我现在的解决方法是使用我之前创建并捆绑到应用程序中的“template.db”.在这个template.db中,然后继续打开并正常使用它.我已经确认TEXT数据现在根据需要存储为UTF-8.

原文链接:https://www.f2er.com/sqlite/197568.html

猜你在找的Sqlite相关文章