NSURL URLWithString: имеет значение null с неанглийскими акцентированными символами

У меня есть следующая строка …

NSString *googleSearchString = @"http://www.google.com/search?q=lyrics+%22Tænder+På+Dig%22+%22Jakob+Sveistrup%22"; 

Обратите внимание, что у него есть некоторые символы с акцентом. Когда я пытаюсь превратить это в URL-адрес, возвращаемый URL-адрес null …

 [NSURL URLWithString:googleSearchString]; 

Таким образом, обычно URL-адрес работает, за исключением тех случаев, когда в строке есть акцентированные неанглийские символы. Любая помощь в том, как с этим справиться?

5 Solutions collect form web for “NSURL URLWithString: имеет значение null с неанглийскими акцентированными символами”

Вам нужно избежать специальных символов, чтобы они работали правильно. Что-то вроде:

 [NSURL URLWithString:[googlSearchString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]]; 

Использование Swift 2.2

Для избежания неанглийских символов, например: чтобы сделать запрос URL-адреса :

let urlPath = path.URLString.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())

Здесь urlPath является Optional а path – ваш исходный url (тот, у которого есть неанглийские символы)

Используйте это для SWIFT 4:

 let url = myURLString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) let myURL = URL(string: url) 

В методе stringByAddingPercentEscapesUsingEncoding: устарел, и нет способа избежать этого правильно. Когда URL предопределен, просто используйте строку, закодированную в браузере, потому что метод stringByAddingPercentEncodingWithAllowedCharacters: не может избежать цельного URL.

В некоторых случаях пространство в URL-адресе может вызвать эту проблему.

  • Как избежать специальных символов, например, в sqlite в android
  • Interesting Posts

    Определите, используется ли приложение Android в первый раз

    Как создать файл FXML для уже созданного нового компонента в java, чем добавить его в конструктор сцен?

    Как открыть уже открытый файл с помощью .net StreamReader?

    Регулярное выражение \ p {L} и \ p {N}

    Как добавить поведение Blend в стильном сеттере

    Ложноположительная ошибка «неопределенной переменной» при компиляции SCSS

    Как предотвратить обработку событий по умолчанию в методе onclick?

    Почему добавление 0,1 несколько раз остается без потерь?

    Оффлайн-возможности Firebase и addListenerForSingleValueEvent

    Почему внезапно я не могу получить доступ к удаленному SVN?

    Как закачать документ в услугу «Угловая 2»

    Могу ли я использовать оператор MERGE в SQL Server 2005?

    Как написать основную функцию подкачки в Java

    Selenium 2.53 не работает на Firefox 47

    Как изменить настройки прокси-сервера в Android (особенно в Chrome)

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