我正在开发一个 iPhone 应用程序,我需要将一些非英语语言的数据保存到 SQLite 数据库中,例如印地语、中文、阿拉伯语等。有可能做到吗?
我试图在网上搜索它,但我找不到任何东西。所以我不确定这是否可能。
iOS 上的框架将“正常工作”。他们将使用适当的字符串编码来覆盖 Unicode,其中包括所有书面语言。SQLite 将使用 UTF-8,所以这也很好。如果您不使用 C 风格的编码或直接弄乱字符串字节来弄乱字符串,那么您应该没有问题。
如果您确实直接弄乱了字符串字节(例如根据索引修改字符,索引不好),那么您可能会遇到问题,因为您可能不小心创建了无效的 UTF-8 内容。此答案中有更多详细信息。但这几乎没有必要,即使在那种情况下,也永远不清楚人们是如何设法破坏他们的数据的。
利用:
sqlite3_prepare_v2(database, [mySQL cStringUsingEncoding: [NSString defaultCStringEncoding]]
defaultCStringEncoding
是为了只学英语。
NSUTF8StringEncoding
用于学习任何语言。
更改defaultCStringEncoding
为NSUTF8StringEncoding
。