如何在sqlite db上使用阿拉伯语文本?

时间:2012-11-01 02:05:06

标签: iphone database xcode sqlite multilingual

在我的iPhone应用程序中,我想在sqlite db上存储和检索阿拉伯语,古吉拉特语。我读过的大部分内容都是使用unicode进行存储和保存。从sqlite db获取数据。

 How could I accomplish this, could any one instruct me with good tutorial.

先谢谢你

3 个答案:

答案 0 :(得分:4)

Unicode支持阿拉伯文字。 sqlite支持使用UTF-8编码的Unicode文本。如果您可以将您的阿拉伯文本放在NSString中,您可以存储它并在sqlite中检索它。你根本不需要做任何特别的事情。

// bind a string into a query
NSString *stringWithArabicText = @" some arabic text ";
sqlite3_bind_text(statement, index, [stringWithArabicText UTF8String], -1, SQLITE_TRANSIENT);

// get a string from a query
char *str = (char *)sqlite3_column_text(statement, index);
NSString *stringWithArabicText = [NSString stringWithUTF8String:str];

这适用于Unicode支持的任何语言的文本,包括阿拉伯语。

答案 1 :(得分:0)

SQLite数据库具有UTF8字符集,因此:

NSString * stringfromdatabase;
const char *cstring = [stringfromdatabase cStringUsingEncoding:NSISOLatin1StringEncoding];
NSString *utf8string = [[NSString alloc]initWithCString:cstring encoding:NSUTF8StringEncoding];
NSLog(@"%@",utf8string); // here you will see arabic.

当然,你可以优化它。

答案 2 :(得分:0)