【问题标题】:How to use 'CapitalizedString' with Turkish letters?如何在土耳其字母中使用“CapitalizedString”?
【发布时间】:2014-11-20 05:00:31
【问题描述】:

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

我有一个反序列化 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'

【问题讨论】:

    标签: ios objective-c nsstring capitalize turkish


    【解决方案1】:
    NSString *capitalizedName = [jsonDictionary objectForKey:@"name"];
    
    NSString *accentedString = capitalizedName;
    NSString * capitalizedString = [accentedString stringByFoldingWithOptions:NSDiacriticInsensitiveSearch locale:[NSLocale currentLocale]];
    newsCategory.name =  [capitalizedString capitalizedString];
    

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

    【讨论】:

    • 它仍然显示为“Askeri Havacilik”。如何将“i”转换为“ı”? @Melih
    猜你喜欢
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 2022-07-02
    • 2012-05-13
    • 2013-10-02
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    相关资源
    最近更新 更多