2015-11-01 55 views
0

我進來這樣一個標題:@"This is what taxi drivers know that you don't"UTF8沒有得到顯示的UILabel

'撇號的正確UTF8的代表性?如果是這種情況,那麼JSON解析器工作正常,並且它的UILabel不能正確顯示UTF8。

if ([headline containsString:@"taxi"] == YES) {    
    news.headLine = [parsedNews objectForKey:@"head_line"]; 
} 

在這個斷點,我看到了給定的標題上面,如果你覺得UTF8表示是錯誤的,我以後可以張貼JSON解析器代碼。

+2

看起來像HTML編碼。你不需要爲'''做任何特殊的事情。原始的JSON有什麼? – Wain

+0

正如溫說的那樣。 '你不需要任何東西'。只需將它寫入代碼即可。 –

+0

在此處使用工具:http://www.opinionatedgeek.com/DotNet/Tools/HTMLEncode/Decode.aspx將文本解碼爲' –

回答

0

NSString - >解碼類型UTF8 NSData - >NSAttributedString - >NSString

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSString *string = @"This is what taxi drivers know that you don't"; 
    NSString *parsed = [self urlDecodeString:string usingEncoding:NSUTF8StringEncoding]; 
    NSLog(@"parsed: %@", parsed); 
    // parsed: This is what taxi drivers know that you don't 
} 

- (NSString *)urlDecodeString:(NSString *)string usingEncoding:(NSStringEncoding)encoding 
{ 
    NSDictionary *options = @{NSDocumentTypeDocumentAttribute:NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute:@(encoding)}; 
    NSData *data = [string dataUsingEncoding:encoding]; 
    NSAttributedString *attString = [[NSAttributedString alloc] initWithData:data options:options documentAttributes:nil error:nil]; 
    return [attString string]; 
}