2014-09-25 4 views
2

У меня проблема с турецкими буквами.Как использовать «CapitalizedString» с турецкими буквами?

У меня есть метод десериализации JSON. Я получаю правильные данные из веб-службы, и я устанавливаю ее в переменную моего объекта. newsCategory.name содержит 'ASKERİ HAVACILIK' который является NSString.

+(NewsCategory*) convertCategory: (NSMutableDictionary *) jsonDictionary{ 
     NewsCategory *newsCategory = [[NewsCategory alloc] init]; 
     newsCategory.name =[jsonDictionary objectForKey:@"name"]; 
     return newsCategory; 
    } 

Я должен преобразовать 'Askeri HAVACILIK' к 'Askeri Havacılık'. Поэтому я использовал capitalizedString.

NSString *capitalizedName = [jsonDictionary objectForKey:@"name"]; 
newsCategory.name = [capitalizedName capitalizedString]; 

Но, к сожалению, это показывает @ "Askeri Havacilik" enter image description here

Как преобразовать это 'Askeri Havacılık'?

ответ

1
NSString *capitalizedName = [jsonDictionary objectForKey:@"name"]; 

NSString *accentedString = capitalizedName; 
NSString * capitalizedString = [accentedString stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:[NSLocale currentLocale]]; 
newsCategory.name = [capitalizedString capitalizedString]; 

В зависимости от характера строк, которые вы хотите конвертировать, вы можете захотеть установить фиксированную локали (например, на английском языке), вместо того, чтобы использовать текущую локаль пользователя. Таким образом, вы можете получить одинаковые результаты на каждой машине.

+0

Он по-прежнему выглядит как «Askeri Havacilik». Как конвертировать 'i' в 'ı'? @Melih –

 Смежные вопросы

  • Нет связанных вопросов^_^