データベースから名前を取得し、その名前と姓をNSMutableDictionaryに保存し、それらをNSMutableArrayに保存します。データベースには、「ñ」、「Ç」などの特殊文字を含む名前があり、その名前を変数に格納すると、プログラムがクラッシュします。
ユーザー入力を制限したくないので、これらの文字を保持する必要があります。しかし、出力を取得せずにそのような文字でこれらの名前を取得するための回避策はありますか?
ConDAO *con = [[ConDAO alloc] init];
NSMutableArray *resultSet = [con executeMySqlCommand:[NSString stringWithFormat:(Long query here)]];
NSMutableDictionary * endList = [[NSMutableDictionary alloc] init];
[endList setObject: @"" forKey:@"surname"];
[endList setObject: @"" forKey:@"name"];
resultSet =(NSMutableArray *)[resultSet arrayByAddingObject:endList];
for (int i =0; i< [resultSet count]-1; ++i)
{
NSMutableDictionary *temp = (NSMutableDictionary *) [resultSet objectAtIndex:i];
...
}
-(NSMutableArray *) executeMySqlCommand: (NSString *) mysqlCommand{
LoginData* loginData=[self dataObject];
NSString *post =[NSString stringWithFormat:@"username=%@&password=%@&mysqlCommand=%@",
loginData.loginName, loginData.loginPassword, mysqlCommand ];
NSString *hostStr = @myIP;
hostStr = [hostStr stringByAppendingString:post];
NSString *encodeURL =[hostStr stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding];
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: encodeURL ]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
if ([serverOutput length]<=0) return nil;
NSError * error;
NSMutableArray *data = [NSJSONSerialization JSONObjectWithData:dataURL options:0 error:&error];
return data;
}