【问题标题】:Does meta tag "charset=utf-8" ensure the correct visualization in any browser?元标记“charset=utf-8”是否确保在任何浏览器中都能正确显示?
【发布时间】:2013-04-21 16:19:35
【问题描述】:

我正在开发一个混合了多语言字符(拉丁文、西里尔文、日文、中文等)的网站。
我使用了以下元标记来确保内容的正确可视化:

<meta http-equiv="Content-type" content="text/html; charset=utf-8">

我的问题是:这是否足以 100% 确定所有用户都会毫无问题地可视化内容?他们的操作系统是否需要对此类字符提供特定支持?

愚蠢的例子:所有现代浏览器和/或操作系统都支持韩语字母/字符还是需要用户安装它们?

【问题讨论】:

  • 您需要使用font,它是 unicode 并且支持您想要的所有语言。它应该是网络安全的。所有浏览器都支持所有字符,但您需要使用包含它们的字体..
  • 我使用的是font-family:'Helvetica Neue', Helvetica, Arial, sans-serif;。是这样吗?
  • 不确定 Helvetica,但至少 Arial 确实支持大多数语言。

标签: html browser utf-8 character-encoding multilingual


【解决方案1】:

meta 标签不保证任何事情。它声明编码是 UTF-8。它可能会被 HTTP 标头覆盖。请参阅 W3C 的 Character encodings

如果编码已被声明为 UTF-8,并且它实际上 UTF-8,那么您可以非常安全,因为所有浏览器都可以正确读取字符。它们是否显示部分取决于字体的可用性,部分取决于 CSS 中的font-family 设置;见我的Guide to using special characters in HTML。它不依赖于操作系统。

关于韩文(Hangul)字符,Fileformat.info data on font support 似乎太有限了(我已经向作者报告了这一点)。除了那里列出的字体之外,至少以下字体包含它们,或者至少是其中的大部分:Batang、BatangChe、Dotum、DotumChe、Gulim、GulimChe、Gungsuh、GugsuhChe、Malgun Gothic、Sun-ExtA。

因此,您可以编写一长串包含韩语字符的字体(按优先顺序),作为font-family 值。我希望这适用于大多数现代计算机,但不是全部。为了最大限度地提高几率,您需要通过@font-face 使用可下载的字体(网络字体),例如 Sun-ExtA,它似乎是一种免费字体,可从 Alan Wood 的repository 获得。请注意,它是一种大字体,您需要以几种格式生成它,例如用FontSquirrel,覆盖不同的浏览器。像大多数大字体一样,它只有一种(常规)字体,因此您不应尝试将其用作粗体或斜体;确保覆盖浏览器对许多 HTML 元素(如标题元素)的粗体和斜体设置。

【讨论】:

    猜你喜欢
    • 2010-10-18
    • 2017-09-22
    • 1970-01-01
    • 2014-02-11
    • 2011-07-06
    • 2020-04-22
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多