Французские акценты на cell.detailTextLabel в UITableView (Objective-C)

У меня есть проблема, с которой я не могу справиться.

В моем приложении я получаю данные из своего веб-сервиса в формате JSON. Это кодировка UTF8, и когда я заполняю UITableView, все в порядке (NSLog возвращает акценты вроде: "\u00e9", но мой UITableView показывает это как: "é").

Но когда я устанавливаю те же данные в моем detailTextLabel, он не преобразует "\ u00e9" в "é" ...

Пробовал некоторые хитрости с кодировкой, но ничего убедительного.

Методы разбора:

- (NSDictionary*)fetchedData:(NSData *)responseData {

NSError* error;

self.json = [NSJSONSerialization
                      JSONObjectWithData:responseData

                      options:kNilOptions
                      error:&error];

return self.json;
}



-(void)executeParsingWithUrl:(NSURL*)anUrl{
NSMutableURLRequest *urlRequest = [[NSMutableURLRequest alloc] initWithURL:anUrl];
NSString *authStr = [NSString stringWithFormat:@"%@:%@",[[NSUserDefaults standardUserDefaults] stringForKey:@"username_ws"], [[NSUserDefaults standardUserDefaults] stringForKey:@"password_ws"]];
NSData *authData = [authStr dataUsingEncoding:NSASCIIStringEncoding];
NSString *authValue = [NSString stringWithFormat:@"Basic %@", [Base64 encode:authData]];
[urlRequest setValue:authValue forHTTPHeaderField:@"Authorization"];
NSError *requestError = NULL;
NSHTTPURLResponse *response = NULL;

NSData *responseData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&requestError];

[self performSelectorOnMainThread:@selector(fetchedData:)
                       withObject:responseData waitUntilDone:YES];
}

Восстановление сил:

dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        JsonParsing *getJson = [[JsonParsing alloc] init];
        [getJson executeParsingWithUrl: leUrl];

        self.duration = [NSString stringWithFormat:@"%@",[[getJson.json objectForKey:@"objects"]valueForKey:@"libel"]];
    });

Заранее спасибо!

1 ответ

Решение

Мне удалось это благодаря другим людям. Я мой cell.detailTextLabel Я использовал это:

cell.detailTextLabel.text = [NSString stringWithCString:[myText cStringUsingEncoding:NSUTF8StringEncoding] encoding:NSNonLossyASCIIStringEncoding];
Другие вопросы по тегам