Кодировки URL с греческими символами

#objective-c #url #encoding #utf-8 #internationalization

#objective-c #url #кодирование #utf-8 #интернационализация

Вопрос:

Я получаю HTML-источник страницы в виде NSString следующим образом

 NSString* url = @"example url";
NSURL *urlRequest = [NSURL URLWithString:url];
NSError *err = nil;
NSString *response = [NSString stringWithContentsOfURL:urlRequest encoding:kCFStringEncodingUTF8 error:amp;err];
  

часть ответа выглядит так: 2 u00cf u0083 u00cf u0087 u00cf u008c u00ce u00bb u00ce u00b9 u00ce u00b1

Как я могу отобразить греческие символы так, как они должны отображаться в ответе NSString?

Кодировка страницы — «charset = iso-8859-7».

Комментарии:

1. Чтобы продемонстрировать проблему, не могли бы вы предоставить действительный URL-адрес в стиле http: // в вашем примере выше? Кроме того, вы знаете, что кодировка «iso-8859-7», почему вы заставляете ответ быть kCFStringEncodingUTF8? Если нет константы iso-8859-7, которая должна быть явно передана в параметре encoding, почему бы не попробовать версию stringWithContentsOfURL «usedEncoding»?

2. Майкл Даутерманн я протестировал все возможные кодировки.. кодировка: kCFStringEncodingUTF8 это была одна из них. Допустимый URL-адрес — [ссылка] (www.blog.gr ) например. Мне удалось заставить это работать, но со страницами utf-8, но не с этим

Ответ №1:

Аааа, теперь я немного лучше понимаю ваш вопрос.

Собственная реализация NSString, поставляемая Apple, не знает, что делать с кодировкой iso-8859-7.

У вас есть два варианта.

1)

Попробуйте запросить разные кодировки в [NSString stringWithContentsOfURL: encoding: error:], чтобы увидеть, успешно ли загружается одна из них. Моя первая попытка была бы с NSISOLatin1StringEncoding.

2)

Я нашел стороннюю библиотеку (и расширение категории NSString), которая выполняет преобразование iso-8859-7. Но получение доступа к CkoCharset обойдется вам (или вашему клиенту) в 290 долларов США. Это может быть выгодным вложением для экономии времени и хлопот.

https://chilkatsoft.com/charset-objc.asp

и документация здесь:

http://www.chilkatsoft.com/refdoc/objcCkoCharsetRef.html