【问题标题】:Is it safe to use UTF-8 characters (like ✖) on my web-page?在我的网页上使用 UTF-8 字符(如✖)是否安全?
【发布时间】:2015-09-14 19:23:47
【问题描述】:

我想在我的网站上使用 UTF-8 字符 ✖ 但我不确定这是否会支持跨浏览器。

我担心:

a) 用户将无法访问包含该字符的字体

b) 即使用户有可以显示该字符的字体,IE 也不会找到该字符。由于以下信息,我对此感到担心:

根据规范,如果系统中有任何字体包含该字符,浏览器应该显示该字符。如果作者指定的字体(在 CSS 字体系列设置中,或者现在很少使用 HTML 中的字体标记)不包含该字符,则浏览器应该使用备用字体。如果作者没有指定字体,同样适用;浏览器应该主要使用它们的默认字体,对没有被主要字体覆盖的任何字符使用备用字体。

在实践中,事情并不总是这样。尤其是 IE 因其在这方面的失败而臭名昭著。它经常无法显示字符,即使如果它使用了系统中的所有字体,它也可以这样做。如果浏览器无法呈现一个字符,它可能会显示一个小矩形,可能包含一个问号、? 或一些类似的指示符。这是一个快速测试(字符 U+0840,您的计算机上的任何字体可能都不支持):ࡀ。

Source.

c) 我有的其他问题。

有一个名为 Unify 的资源,它将显示支持该字符的设备,但目前(2015 年 9 月 14 日)仅支持 107 个字符。


总而言之,问题是:如何确定在我的网站上使用 utf-8 特殊字符是否安全?在我的网站上专门使用 ✖ 是否安全?

【问题讨论】:

    标签: html utf-8 fonts


    【解决方案1】:

    这既是一个技术问题,也是一个 UX 问题,所以我将两者都提到。

    作为比较,在我的 IE11 浏览器上,它看起来像这样:,但在我的 Firefox 31.8 上,它看起来像这样:。良好的用户体验通常与一致性相关联,而这种方法不是很便携。所以从用户体验的角度来看,这不是一个很好的解决方案。

    如果您需要透明度,我会说使用微小的 *.gif 或 *.bmp,甚至 *.png,是更好的解决方案。更好的是,使用 *.svg 这样缩放就不会成为问题。从技术角度来看,这么小的东西的开销通常是微不足道的。

    【讨论】:

    • 或者,很明显,确保使用具有该字符的网络字体,以便每个人看起来都一样(特别是因为 IE 从 IE4 开始就支持网络字体)
    • @Mike'Pomax'Kamermans - 嗨,迈克,我没想过使用网络字体。如果您想创建答案或多或少地说“如果您的 webfont 有它,它将起作用”,那么我会接受。如果/当您回答时,请添加带有标记的评论(以便我收到通知)。
    • @sixtyfootersdude 实际上,给你的popular answer by orlp 确实暗示了这一点——“你最好的选择是使用支持的网络字体”但是,他继续说这不是t 一个完美的解决方案,因为“用户可能禁用了网络字体或正在使用命令行浏览器等......”
    • @sixtyfootersdude 添加。此外,禁用 webfonts 的人是极少数用户:这就像关闭页面 CSS 并改用您自己的 CSS(也由一些人完成,但它是极少数的网络用户)。
    【解决方案2】:

    它总是安全 - 您用户的计算机不会突然起火。

    从技术角度来看,最好的办法是使用支持您要使用的每个 Unicode 字符的网络字体。这不是万能的(用户可能禁用了网络字体或正在使用命令行浏览器等...),但它应该支持绝大多数计算机。

    从那里我会应用常识。如果一个字符的显示是绝对关键的并且生活依赖于它,那么尽量不要使用 Unicode。否则我会说“继续”。

    【讨论】:

      【解决方案3】:

      您可能面临的唯一问题是许多字体中没有实现奇异符号,因此用户可以看到一个虚拟字符(例如正方形)而不是这个。我个人喜欢为此目的使用 svg 符号。

      【讨论】:

        【解决方案4】:

        另一种解决方案是使用带有这些图标的网络字体(尽管可能是的子集版本,因此它更小且 1 kb 并且不会压低您的页面)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-11-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-16
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多