加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 19:04:02 所属栏目:百科 来源:网络整理
导读:在AIR应用程序中,您可以通过flash.data类使用SQLite.看来,默认情况下,创建的数据库的编码设置为UTF-16le,这意味着文本数据以每个字符两个字节存储,导致ASCII重的数据库内容几乎100%的开销. 假设shell程序(sqlite3)是指示性的,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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读