Как показать специальный символ в UILabel iOS - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь реализовать приложение, в котором я хотел бы показать текст в испанском формате. Например, я хотел бы показать «España», но на моем ярлыке он показывает «Espaà ± a», а также изменяет текст для некоторого другого текста.

Как от них избавиться. Если кто-нибудь может помочь. Спасибо.

Редактировать: Когда я получаю свой ответ, регистрируется, что результат ниже

Сообщение = ( "Espa \ U221a \ U00c9 \ U00ac \ U00b1a: 1,3 \ U221a \ U00c7 \ U00ac \ U00a2 / мин" );

Но когда я извлекаю значение в соответствии с ключом из словаря, он показывает

Espa√ɬ ± а: 1.3√Ǭ ¢ / мин

Это означает, что когда я получаю значение из словаря, он не может выполнить правильное декодирование.

как решить эту проблему. Есть идеи? ..

1 Ответ

0 голосов
/ 17 мая 2018

Сначала преобразуйте строку ответа в NSData с использованием кодировки NSUTF8StringEncoding, затем снова преобразуйте те же данные в finalString, как показано ниже.

NSString *string = @"España"; //Your response String goes here
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
NSString *finalString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
lblTemp.text = finalString;

ОБНОВЛЕНИЕ 1

Я думаю, что в вашем ответе есть ошибка, см. Ниже

NSString *string = @"Nu\\u0161a Florjan\\u010di\\u010d";
NSString *finalString = [NSString
                   stringWithCString:[string cStringUsingEncoding:NSUTF8StringEncoding]
                   encoding:NSNonLossyASCIIStringEncoding];
NSLog(@"finalString = %@", finalString);

Вывод вышеуказанного кода:

finalString = Nuša Florjančič

ОБНОВЛЕНИЕ 2

Если вы хотите получить строку вывода, например "España" , ваш желаемый ответ должен быть "Espa \ u00F1a" , найдите ниже,

NSString *string = @"Espa\\u00F1a";
NSString *finalString = [NSString
                         stringWithCString:[string cStringUsingEncoding:NSUTF8StringEncoding]
                         encoding:NSNonLossyASCIIStringEncoding];
NSLog(@"%@",finalString);

Вывод España

...