2014-09-25 1 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; 
    } 

나는 'ASKERİ HAVACILIK''Askeri Havacılık'을 변환해야합니다. 그래서 capitalizedString을 사용했습니다.

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

그러나 불행하게도, 그것은 enter image description here

가 어떻게 'Askeri Havacılık'이 변환 "Askeri̇ Havacilik"@ 보여줍니다?

답변

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'를 'ı'로 변환하나요? @ 멜리 –

관련 문제