NSString, содержащая aphostrophe ('), неправильно настроен на службу SOAP - PullRequest
0 голосов
/ 25 июня 2019

У меня странная на мой взгляд проблема. У меня есть UITextField, который содержит имя пользователя. Когда он содержит апостроф ('), служба не может правильно прочитать имя пользователя. Я полагаю, это связано с Unicode. Я пытаюсь увидеть, какие коды и я получаю:

L'TEST - contains code 8217
' - is 39
` - is 96

Может кто-нибудь объяснить мне, почему это происходит, чтобы я мог решить эту проблему

Ответы [ 2 ]

1 голос
/ 26 июня 2019

L'TEST - содержит код 8217

Это было бы L’TEST с U+2019 ‹’› \N{RIGHT SINGLE QUOTATION MARK}. Если вы внимательно посмотрите, в большинстве шрифтов этот символ отображается с небольшим скручиванием. Это не апостроф, но неправильно использовал как единое целое.

Может кто-нибудь объяснить мне, почему это происходит

Распространенные причины:

  • «Дурак» Некоторая озорная система ввода молча заменила апостроф кавычкой. Это делают текстовые процессоры и экранные клавиатуры мобильных ОС. Это благонамеренный, но иногда дает неправильный результат.
  • «The Clueless» Пользователь не знает, как правильно набрать апостроф и выбрал похожую кавычку.
  • "Злой" Ваше текстовое поле пользовательского интерфейса (или что-то еще в цепочке, исходящей от пользователя) запрещает ввод апострофов по некоторой задержанной причине. Пользователь абсолютно отказывается писать что-то некорректное с точки зрения орфографии и вручную заменяет апостроф кавычкой, чтобы обойти дефектное программное обеспечение.

чтобы я мог решить эту проблему

Это социальная проблема, а не проблема программного обеспечения.

0 голосов
/ 26 июня 2019

Так как сервис SOAP основан на XML, а одинарные кавычки являются разделителем в XML, вам нужно экранировать одинарные кавычки, заменив «'» на «\» во всех текстовых полях.Это очень распространенная проблема.

...