У меня есть приложение Mac Os, которое извлекает HTML-код веб-страницы и помещает его в строку NSString.Код:
NSString*linkURL=[NSString stringWithFormat:@"https://www.example.com"];
NSURL *targetURL=[NSURL URLWithString:linkURL];
NSData *htmlData = [NSData dataWithContentsOfURL:targetURL];
NSString *dataString=[[NSString alloc]initWithData:htmlData encoding:NSUTF8StringEncoding];
Это приложение работает на Mac OsX 10.8 и работает нормально.После обновления системы до Mac OsX 10.12 у меня проблема с NSUTF8StringEncoding
.NSString *dataString
содержит только часть HTML-кода, а не весь HTML-код.
Я проверил, что htmlData
содержит правильный код, потому что я пишу htmlData
в текстовый файл, и он содержит всеHTML-код, который я получил.Но когда я инициализирую NSString
с помощью htmlData
с использованием NSUTF8StringEncoding, строка содержит только первую часть HTML-кода.
Я также пытался:
NSString *dataString=[[NSString alloc]initWithUTF8String:[tutorialsHtmlData bytes]];
с тем же результатом.
Также код:
NSString *dataString=[NSString stringWithContentsOfURL:targetURL encoding:NSUTF8StringEncoding error:nil];
дал мне тот же результат.
HTML-код веб-страницы в кодировке UTF-8, это его мета:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Кто-нибудь может мне помочь?Спасибо