带有 U+2028 字符的故事板中的 UILabel 将文本分隔成两行,在一台设备上呈现垃圾

UILabel in storyboard with U+2028 character to separate text onto two lines rendering garbage on one device

我有一个双词固定文本标签,它使用行分隔符 U+2028 手动分成两行。它多年来一直工作得很好,但最近有用户报告说看到 â€" 该分隔符应该在的位置。

我知道我可以通过粘贴在情节提要中使用常规换行符,或者 option + return在 IB 属性检查器的文本字段上,或者我可以使用 AutoLayout 设置固定大小,但我特别想知道是什么导致这个字符(应该是 Apple's unambiguous line separator NSLineSeparatorCharacter)中断在特定设备上,但不在其他设备上。

UILabel使用的是系统字体,我没有直接用属性字符串什么的修改过。看起来不像是在用户设备上使用不同的字体;不明白为什么它应该是无论如何。我认为它可能与 language/region 有关,但我尝试更改它但无法重现它。设备是运行iOS12.

知道是什么原因造成的吗?

看起来另一位开发人员通过合并冲突修复将这些字符引入了标签。没有意识到,因为我不知道有问题的应用程序是从不同的分支构建的。编码肯定会起作用,但可能是因为显然 Xcode 在解决冲突时弄乱了 unicode 字符。