我的土耳其字母有问题。
我有一个反序列化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'转换为'AskeriHavacılık'。所以我使用了capitalizedString
。
NSString *capitalizedName = [jsonDictionary objectForKey:@"name"];
newsCategory.name = [capitalizedName capitalizedString];
但不幸的是,它显示了@“Askeri̇Havacilik”
我如何将其转换为'AskeriHavacılık'?
答案 0 :(得分:1)
NSString *capitalizedName = [jsonDictionary objectForKey:@"name"];
NSString *accentedString = capitalizedName;
NSString * capitalizedString = [accentedString stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:[NSLocale currentLocale]];
newsCategory.name = [capitalizedString capitalizedString];
根据要转换的字符串的性质,您可能希望设置固定的区域设置(例如英语),而不是使用用户的当前区域设置。这样,您可以确保在每台机器上获得相同的结果。