2

我对土耳其语字母有疑问。

我有一种反序列化 JSON 的方法。我从 Web 服务获取正确的数据,并将其设置为对象的变量。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];

但不幸的是,它显示@“Askeri̇Havacilik”在此处输入图像描述

我如何将其转换为“Askeri Havacılık”

4

1 回答 1

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

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

根据您要转换的字符串的性质,您可能希望设置一个固定的语言环境(例如英语),而不是使用用户的当前语言环境。这样,您可以确保在每台机器上获得相同的结果。

于 2014-09-25T12:37:39.373 回答