次のコードがあります。
NSMutableArray *getDatosSelect=nil;
NSMutableString *consulta=[[NSMutableString alloc]init];
[consulta appendString:@"SELECT idOzDiccionario, espanyol, ingles, hebreo, fonetica FROM ozdiccionario WHERE UPPER(ingles) LIKE 'FRIEND%'"];
if ( sqlite3_prepare_v2(sql,[consulta UTF8String],[consulta length],&resultado,&siguiente) == SQLITE_OK ){
getDatosSelect=[[NSMutableArray alloc] init];
while (sqlite3_step(resultado)==SQLITE_ROW){
NSMutableArray *datos=[[NSMutableArray alloc] init];
for (int x=0; x<sqlite3_column_count(resultado); x++) {
char *pChar=(char *)sqlite3_column_text(resultado, x);
if (pChar!=nil) {
[datos addObject:[NSString stringWithUTF8String: pChar]];
}
}
[getDatosSelect addObject:datos];
datos=nil;
}
}else {
NSString *errores=[NSString stringWithFormat:@"%s", sqlite3_errmsg(sql)];
NSLog(@"%@ %@",TAG,errores);
}
この他のコードを実行すると、正しく実行されます
NSMutableArray *getDatosSelect=nil;
NSMutableString *consulta=[[NSMutableString alloc]init];
[consulta appendString:@"SELECT idOzDiccionario, espanyol, ingles, hebreo, fonetica FROM ozdiccionario WHERE hebreo='חבר'"];
if ( sqlite3_prepare_v2(sql,[consulta UTF8String],[consulta length],&resultado,&siguiente) == SQLITE_OK ){
getDatosSelect=[[NSMutableArray alloc] init];
while (sqlite3_step(resultado)==SQLITE_ROW){
NSMutableArray *datos=[[NSMutableArray alloc] init];
for (int x=0; x<sqlite3_column_count(resultado); x++) {
char *pChar=(char *)sqlite3_column_text(resultado, x);
if (pChar!=nil) {
[datos addObject:[NSString stringWithUTF8String: pChar]];
}
}
[getDatosSelect addObject:datos];
datos=nil;
}
}else {
NSString *errores=[NSString stringWithFormat:@"%s", sqlite3_errmsg(sql)];
NSLog(@"%@ %@",TAG,errores);
}
次のエラーが表示されます。
認識されないトークン: ""◊ó◊ë◊"
このエラーは、メソッドが文字列を UTF8 文字に変換するときに発生します
なんで?何が問題ですか?