【发布时间】:2016-09-29 22:22:39
【问题描述】:
我所有的 iOS 浏览器(Safari、Chrome、Firefox 和 Opera)都会自行将后跟“s”的弯撇号更改为印刷错误的直撇号。更奇怪的是,如果撇号后面不跟一个“s”,它不会进行这种更改(屏幕截图curly vs. straight apostrophes 显示了每个示例。)
我可以通过在 ’ 字符的任一侧插入一个 Word Joiner 字符(HTML 实体 ⁠)来解决此问题。
这是应该工作的HTML:
<li>Delta Airlines’ Sky magazine</li>
<li>Delta Shuttle’s Shuttle Sheet magazine</li>
下面是真正起作用的HTML:
<li>Delta Airlines⁠’ Sky magazine</li>
<li>Delta Shuttle⁠’⁠s Shuttle Sheet magazine</li>
我的 OSX 桌面浏览器都没有出现这种奇怪的行为。 (更新:我曾经使用 OSX v10.7.5 - 当前版本的 OSX确实表现出与 iOS 相同的行为)换句话说,在 OSX 中我可以省略Word Joiner 字符和弯撇号正确显示,带或不带尾随 's'。 是的,我明确声明 <meta charset="utf-8">。
所以我可以解决这个问题,但我不应该这样做;每次我使用撇号时都必须对此保持警惕是很痛苦的,它使 HTML 变得更加混乱和晦涩。有谁知道这里发生了什么?
【问题讨论】:
-
我将渲染输出添加到您的问题中,并且除了我的 Mac 之外,我在运行 iOS 10 的 iPhone 和运行 iOS 9 的 iPad 上都看到了预期的卷曲撇号 - 全部使用 Safari。也许堆栈溢出正在改变一些东西。可能有助于发布指向演示问题的真实 URL 的链接。
-
@rmaddy——我认为发布渲染输出没有意义,因为问题不会出现在桌面浏览器中,而只会出现在 iOS 中。这就是我附上 iPhone 截图的原因。我正在运行 iOS 9.3.5,所以也许他们在 iOS 10 中修复了这个问题。
-
很多人在 iOS 设备上使用 SO。我经常这样做。
标签: html ios macos punctuation