包含撇号 (') 的 NSString 未正确设置为 SOAP 服务

NSString containing aphostrophe (') is not set properly to SOAP service

我有一个奇怪的问题。我有 UITextField 其中包含用户名。当它包含撇号 (') 时,服务无法正确读取用户名。我想它与 Unicode 相关。我试着看看代码是什么,我得到:

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

任何人都可以向我解释为什么会发生这种情况,以便我解决这个问题

由于 SOAP 服务基于 XML 并且单引号是 XML 中的描述符,您需要通过将所有文本中的“'”替换为“\'”来转义单引号领域。这是一个很常见的问题。

L'TEST - contains code 8217

那就是 L’TESTU+2019 ‹’› \N{RIGHT SINGLE QUOTATION MARK}。如果你仔细观察,在大多数字体中,这个字符都带有轻微的卷曲。它不是撇号,但被误用作为一个。

can anyone explains to me why this happens

常见原因:

  • "The Fool" 一些恶作剧的输入系统默默地用撇号代替了引号。文字处理器和移动 OS on-screen 键盘可以做到这一点。它是 well-meaning,但有时会产生错误的结果。
  • "The Clueless" 用户不知道如何正确输入撇号并选择了看起来相似的引号。
  • "The Angry" 您的 UI 文本字段(或来自用户的链中的其他内容)出于某些弱智原因禁止输入撇号。用户绝对拒绝编写拼写错误的内容,并手动将引号替换为引号以解决软件缺陷。

so I can fix this issue

这是社会问题,不是软件问题。