为什么有些 Unicode 字符显示为方框?

为什么有些 Unicode 字符显示为方框?

我的浏览器中无法显示某些 Unicode 字符。

我生成了有效的 Unicode (utf8) 字符,但其中许多字符无法显示。如果它们没有表示,那么它们为什么存在?我该如何解决这个问题?谢谢。

Unicode 字符

答案1

没有可用的字形。您的显示引擎(浏览器)通过显示 UTF-8 字符的十六进制数来指示这一点。它使用方框来指示此行为。您的字符可能编码不正确。

编辑

对应于utf-8 图标字符 0x0E5C 属于 UTF-8 的泰语子集。但是没有名称那个角色而前一个被命名为霍穆特。所以你使用了一个保留但未使用的字符。

此外,您还需要一种包含该字符字形的字体。由于 05EC 目前没有名称utf-8 图标它可能不包含在您的字体中。

答案2

一般来说,一个包含四位十六进制数的框是指示所用字体中字符缺少字形的常用方法。但在这种情况下,数据显然包含尚未分配给字符的代码点,因此字体不应该有任何字形。

例如,这里的第一个问题案例中,方框中有 0E5C,因此它表示 U+05EC,这是目前 Unicode 中的保留(未分配)代码点。这意味着它不表示任何字符数据,不应在字符串中使用。

答案3

我按照以下方式修复了它。我有以下文本:['

相关内容