Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone-从sqlite检索非英语字符值_Iphone_Sqlite_Localization_Diacritics - Fatal编程技术网

iPhone-从sqlite检索非英语字符值

iPhone-从sqlite检索非英语字符值,iphone,sqlite,localization,diacritics,Iphone,Sqlite,Localization,Diacritics,我刚刚加入了一个带有sqlite3数据库的iPhone项目。 有一个自定义本地化结构,其中值按如下方式存储在行中: Id、国家、语言、键、值 1469年,法国联邦储备银行,法国联邦储备银行 我们用来提取结果的代码是: NSString* item = @""; sqlite3_stmt *statement; if (sqlite3_prepare_v2(database, [[NSString stringWithFormat:@"SELECT Value FR

我刚刚加入了一个带有sqlite3数据库的iPhone项目。 有一个自定义本地化结构,其中值按如下方式存储在行中:

Id、国家、语言、键、值

1469年,法国联邦储备银行,法国联邦储备银行

我们用来提取结果的代码是:

NSString* item = @"";   

    sqlite3_stmt *statement;
        if (sqlite3_prepare_v2(database, [[NSString stringWithFormat:@"SELECT Value FROM LocalisedValues WHERE Country='%s' AND Language='%s' AND Key='%s'", country, language, key] UTF8String], -1, &statement, nil) == SQLITE_OK) {
            while (sqlite3_step(statement) == SQLITE_ROW) {

                item = [NSString stringWithUTF8String: (char *)sqlite3_column_text(statement, 0)];

            }
        }
我们遇到的问题是,值列包含重音的任何结果(例如,É)都返回nil。删除重音字符将正确返回

数据库本身似乎已创建为UTF8,尝试使用UTF16方法检索值时返回单个字符


有人知道这会出什么问题吗?

为什么不使用本地化字符串呢?不确定,只是加入项目。我想这是有充分理由的。有没有解决这个问题的办法?