我们的应用程序接受用户文本输入,然后我们将其保存到服务器端数据库。 在 iOS 11 中,当您连续输入两个“-”字符时,它们会自动组合成破折号 (—)。当您连续输入三个“-”字符时,您最终会得到一个 emdash + 一个半 emdash,它有一个无效的终止符。 这导致我的 rails 服务器出现问题,因为它无效而无法解析该字符串。 字符串如下所示:\xE2\x80\x94\x00
最佳答案
所谓的“智能破折号”是将两个/三个破折号转换为一个更大的破折号的过程。这仅适用于 iOS 11。可以使用 smartDashesType 进行控制。这是 UITextInputTraits 的一部分协议(protocol)。
关于ios - 在 iOS 11 中,键盘自动更正会创建无效的 UTF8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47022956/