2

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

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

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

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

4

1 回答 1

2

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

如果编码已被声明为 UTF-8,并且它实际上UTF-8,那么您可以非常安全,因为所有浏览器都能正确读取字符。它们是否显示它们部分取决于字体的可用性,部分取决于font-familyCSS 中的设置;请参阅我在 HTML 中使用特殊字符的指南。它不依赖于操作系统。

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

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

于 2013-04-27T18:09:27.407 回答