ios - 在 iOS 11 中,键盘自动更正会创建无效的 UTF8

标签 ios ruby-on-rails ruby postgresql ios11

我们的应用程序接受用户文本输入,然后我们将其保存到服务器端数据库。 在 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/

相关文章:

ruby-on-rails - Rake 在 vendor/gems 中找不到 gem

ruby-on-rails - Sidekiq 在完成作业后不会释放内存

ruby - 不能使用 has_secure_password,password_digest 错误

ruby-on-rails - Rails 实例变量如何传递给 View ?

ruby-on-rails - rails 控制台 (`require' : cannot load such file)

ios - 在 Interface Builder 中设置蒙版角

ios - 检测 UIColor 是否使用 colorWithPatternImage 创建

ruby - 导轨 : Remove substring from the string if in array

ios - 如何使用 AlamoFire 在 POST 请求中将 jpeg 文件作为参数发送

ios - UITableView 在 textFieldDidBeginEditing : 中获取 indexPath