将非英语(印地语,中文等)保存到SQLite

时间:2013-09-12 11:54:47

标签: iphone ios sqlite

我正在开发一款iPhone应用程序,我需要将一些非英语语言的数据(例如印地语,中文,阿拉伯语等)保存到SQLite数据库中。有可能吗?

我试图在网上搜索它,但我找不到任何东西。所以我不确定是否有可能。

2 个答案:

答案 0 :(得分:2)

iOS上的框架将“正常工作”。他们将使用适当的字符串编码来覆盖Unicode,其中包括所有书面语言。 SQLite将使用UTF-8,所以也可以。如果您不使用C样式编码来弄乱字符串,也不直接弄乱字符串字节,那么应该没问题。

如果您直接弄乱字符串字节(例如根据索引修改字符,索引变坏),那么您可能会遇到问题,因为您可能不小心创建了无效的UTF -8。 this answer中对此有更详细的说明。但这几乎从来没有必要,即使在那种情况下,也不清楚人们是如何设法破坏其数据的。

答案 1 :(得分:-3)

使用:

sqlite3_prepare_v2(database, [mySQL cStringUsingEncoding: [NSString defaultCStringEncoding]]

defaultCStringEncoding仅用于英语。

NSUTF8StringEncoding适用于任何语言。

defaultCStringEncoding更改为NSUTF8StringEncoding