在我的网页上使用UTF-8字符(如✖)是否安全?

时间:2015-09-14 19:23:47

标签: html utf-8 fonts

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

我很担心:

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

b)即使用户有可以显示字体的字体,IE也找不到该字符。由于这个信息,我很担心这个:

  

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

     

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

Source

c)我遇到的其他问题。

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

总而言之,问题是:我怎样才能确定在我的网站上使用utf-8特殊字符是否安全?在我的网站上特别使用?是否安全?

4 个答案:

答案 0 :(得分:3)

它始终安全 - 您的用户的计算机不会突然爆发。

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

从那里我会运用常识。如果显示一个字符绝对至关重要且依赖于它,请尝试不使用Unicode。否则我会说'继续'。

答案 1 :(得分:2)

这是一个UX问题,因为它是一个技术问题,所以我会提到两者。

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

我想说如果你需要透明度,使用微小的* .gif或* .bmp,甚至* .png是一个更好的解决方案。更好的是,使用* .svg,因此缩放不会成为问题。从技术方面来说,小的东西的开销通常是微不足道的。

答案 2 :(得分:1)

您可能遇到的唯一问题是外来符号未在许多字体中实现,因此用户可以看到虚拟字符(例如正方形)而不是此字符。我个人喜欢为此目的使用svg符号。

答案 3 :(得分:0)

另一种解决方案是使用带有这些图标的网络字体(虽然可能是子集版本,因此它更少,1 kb并且不会减少页面的重量)。