Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSMutableString和(字符)编码问题:在ü的情况下获取\U00fc;_Objective C_Ios_Encoding_Character Encoding_Nsmutablestring - Fatal编程技术网

Objective c NSMutableString和(字符)编码问题:在ü的情况下获取\U00fc;

Objective c NSMutableString和(字符)编码问题:在ü的情况下获取\U00fc;,objective-c,ios,encoding,character-encoding,nsmutablestring,Objective C,Ios,Encoding,Character Encoding,Nsmutablestring,我正在从coreData中提取实体,并将fetchrequest的结果保存到NSMutableString中,以用于文本到语音转换 self.ttsInboxCards = [[NSMutableString alloc] initWithString:@""]; [self.ttsInboxCards appendString:[[entitySetsCards valueForKey:@"cardTitle"] description]]; 在NSLog中,我得到以下值: F\U00f

我正在从coreData中提取实体,并将fetchrequest的结果保存到NSMutableString中,以用于文本到语音转换

self.ttsInboxCards = [[NSMutableString alloc] initWithString:@""];  
[self.ttsInboxCards appendString:[[entitySetsCards valueForKey:@"cardTitle"] description]];
在NSLog中,我得到以下值:

F\U00fcr | schl\U00e4ge | zuh\U00f6ren  
应该是:

Für | schläge | zuhören  
我尝试了很多方法来获得正确的编码,例如:

stringWithUTF8String:  
诸如此类,但没有任何效果

如何防止此问题?

编辑1:

我从coreData获取的值如下:
NSFetchRequest*fetchRequest=[[[NSFetchRequest alloc]init]autorelease]

NSEntityDescription *entity = [NSEntityDescription entityForName:@"EntitySetsCardsInbox" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

NSPredicate *inboxPred = [NSPredicate predicateWithFormat:@"archived == 0 AND cardId != 0"];


[fetchRequest setPredicate:inboxPred];

NSSortDescriptor *sortDescriptor2 = [[[NSSortDescriptor alloc] initWithKey:sortString ascending:sortAsc selector:@selector(localizedCaseInsensitiveCompare:)] autorelease];
NSArray *sortDescriptors = [[[NSArray alloc] initWithObjects:sortDescriptor2, nil] autorelease];
[fetchRequest setSortDescriptors:sortDescriptors];

NSError *error = nil;
NSArray *cardTitles = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];



[self.ttsInboxCards appendString:[[cardTitles valueForKey:@"cardTitle"] description]];
TextToSpeech

    if (isSpeaking) {
    [vocalizer cancel];
    isSpeaking = NO;
}
else {
    isSpeaking = YES;
    vocalizer = [[SKVocalizer alloc] initWithLanguage:@"de_DE" delegate:self];
    [vocalizer speakString:tmp];


}

用小一点的大写字母
U
,试试看。

我写道:

cardTitles是一个数组。因此,调用-valueForKey:on会产生一个 通过在每个元素上调用-valueForKey:@“cardTitle”构建的数组。 然后,您需要该数组的描述。很有可能 对其内容进行格式化

他写道:

componentsJoinedByString:通过编码工作并解决了问题。 现在,我必须正确地拆分它们,这样我就可以干净地使用它来 文本到语音。你能回答这个问题吗?这样我就可以做标记了 问题已回答,其他人可以更快地找到它


我不是自己设置上限的,我是在控制台输出中获取它们的。无论如何,你应该在某个地方设置这些值,对吗?在那里更改值并重试。我从CoreData获取此值。在CoreData中,文本被正确保存。我在保存:
Für|schl|ge|zuhören
。但在NSLog中,这是错误的。你难住我了?我和乌芬一点关系都没有,明白吗。我来看看。cardTitle属性的类型是什么?如果它是一个字符串,为什么要对其调用
-description
?你可以只使用字符串本身。它是字符串。如果我删除了
说明
,那么我会得到一个NSInvalidArgumentException',原因:'-[\uu NSArrayI length]:等等<代码>卡片标题是一个数组。因此,在其上调用
-valueForKey:
将生成一个数组,该数组是通过在每个元素上调用
-valueForKey:@“cardTitle”
构建的。然后,您需要该数组的描述。它很可能对其内容进行格式化。你用这个表情到底想达到什么目的?你把我推向了正确的方向<代码>组件通过字符串连接:通过编码工作并解决了问题。现在我必须正确地拆分它们,以便我可以干净地使用它进行文本到语音转换。你能用这个回答吗?这样我就可以把这个问题标记为已回答,其他人就可以更快地找到它。非常感谢。