私は、アプリケーションデータ(キリル文字列)をsqliteに格納します。そのデータをアプリに表示しようとすると、テキストの代わりに変な文字が表示されます。データを取得する方法は次のとおりです。sqliteデータベースからデータを取得中に壊れたエンコーディング
あなたはsqliteのデータベースUTF-8ではなくUTF-16を使用している、あなたはおそらく使用して幸せになるつもりだと仮定すると、-(NSString *)getData
{
sqlite3 *database;
if(sqlite3_open([[self dataFilePath] UTF8String], &database) != SQLITE_OK)
{
sqlite3_close(database);
}
NSString *query = [NSString
stringWithFormat:@"SELECT name FROM users WHERE kind = '%@' ORDER BY RANDOM() LIMIT 1", self.kind ];
sqlite3_stmt *statement;
NSString *selectedQuestion;
if(sqlite3_prepare_v2(database, [query UTF8String], -1, &statement, nil) == SQLITE_OK)
{
sqlite3_step(statement);
selectedQuestion =[NSString stringWithFormat: @"%s",(char *)sqlite3_column_text(statement, 0)];
sqlite3_finalize(statement);
}
sqlite3_close(database);
return selectedQuestion;
}
:CONST char * query = "SELECT ....."; – DJPlayer
SQLite_prepare_v2(データベース、[クエリUTF8String]、-1、&ステートメント、nil)== SQLITE_OK) – OhDoh