Как использовать специальный символ в NSURL?

В моем приложении используется NSURL:

var url = NSURL(string: "http://www.geonames.org/search.html?q=Aïn+Béïda+Algeria&country=") 

Когда я попытался сделать задачу для получения данных из этого NSURL следующим образом:

  let task = NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in if error == nil { var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) println("urlContent \(urlContent!)") } else { println("error mode") } 

но у меня возникла ошибка при попытке получить данные с этого адреса, хотя, когда я использую safari, перейдите по ссылке: « http://www.geonames.org/search.html?q = Aïn + Béïda + Algeria & country =« Я вижу данные. Как я могу это исправить?

    Swift 2

     let original = "http://www.geonames.org/search.html?q=Aïn+Béïda+Algeria&country=" if let encodedString = original.stringByAddingPercentEncodingWithAllowedCharacters( NSCharacterSet.URLFragmentAllowedCharacterSet()), url = NSURL(string: encodedString) { print(url) } 

    Кодированный URL теперь:

    http://www.geonames.org/search.html?q=A%C3%AFn+B%C3%A9%C3%AFda+Algeria&country=

    и совместим с NSURLSession .

    Swift 3

     let original = "http://www.geonames.org/search.html?q=Aïn+Béïda+Algeria&country=" if let encoded = original.addingPercentEncoding(withAllowedCharacters: .urlFragmentAllowed), let url = URL(string: encoded) { print(url) } 
    Interesting Posts

    ImportError при импорте некоторых модhive из SciPY

    Невозможно выполнить RDP для второго компьютера на том же маршрутизаторе после изменения стандартного прослушивающего порта RDP

    В .NET, какой цикл работает быстрее, «for» или «foreach»?

    Может ли провайдер по-прежнему видеть, какие URL-адреса посещают при использовании VPN?

    Android проверить подключение к Интернету

    LINQ Группировка динамически

    Как слить 2 json-файл с помощью jq?

    Как настроить проигрыватель 7 в качестве маршрутизатора?

    Сигнал C ++ для слота QML в Qt

    Расширение беспроводной сети?

    Открытие оболочки Explorer с правами администратора на XP (с установленным IE7)

    java конвертировать миллисекунды в формат времени

    node.js http.get зависает после 5 запросов к удаленному сайту

    Как вручную создать cookie проверки подлинности вместо метода по умолчанию?

    Защита данных на жестком диске: поиск подходящих технологий

    Давайте будем гением компьютера.