在 iOS 11 中,键盘自动更正创建无效的 UTF8
in iOS 11 the keyboard autocorrect creates invalid UTF8
我们的应用程序接受用户文本输入,然后我们将其保存到服务器端数据库。
在 iOS 11 中,当您连续输入两个“-”字符时,它们会自动组合成破折号 (—)。当您连续输入三个“-”字符时,您最终会得到一个 emdash + 一个半 emdash,它有一个无效的终止符。
这导致我的 rails 服务器出现问题,该服务器无法解析该字符串,因为它无效。
字符串如下所示:\xE2\x80\x94\x00
所谓的 'Smart dashes' 是将 two/three 破折号转换为一个更大的破折号的过程。这仅适用于 iOS 11。可以使用 smartDashesType which is a part of the UITextInputTraits 协议进行控制。
我们的应用程序接受用户文本输入,然后我们将其保存到服务器端数据库。 在 iOS 11 中,当您连续输入两个“-”字符时,它们会自动组合成破折号 (—)。当您连续输入三个“-”字符时,您最终会得到一个 emdash + 一个半 emdash,它有一个无效的终止符。 这导致我的 rails 服务器出现问题,该服务器无法解析该字符串,因为它无效。 字符串如下所示:\xE2\x80\x94\x00
'Smart dashes' 是将 two/three 破折号转换为一个更大的破折号的过程。这仅适用于 iOS 11。可以使用 smartDashesType which is a part of the UITextInputTraits 协议进行控制。