We have the following method in our project:
- (NSString *)convertHTMLToUnicode {
    NSArray *theHTMLEntities = @[@"&", @"Ä", /* more stuff */];
    NSArray *theUnicodeEntities = @[@"&", @"Ä", /* more stuff */];
    NSDictionary *theHTMLSource = [NSDictionary dictionaryWithObjects:theUnicodeEntities forKeys:theHTMLEntities];
    NSMutableString *theText = [NSMutableString stringWithString:self];
    for (NSString *theHtml in theHTMLEntities) {
        [theText replaceOccurrencesOfString:theHtml
                             withString:[theHTMLSource valueForKey:theHtml]
                                options:NSLiteralSearch
                                  range:NSMakeRange(0, theText.length)];
    }
    return theText;
}