為什麼 Windows 7 上的 Chrome 不向我顯示某些 Unicode 字元?

為什麼 Windows 7 上的 Chrome 不向我顯示某些 Unicode 字元?

蘋果問題包含文字

這把鑰匙是什麼? ⎋

在我看來,Google瀏覽器是這樣的:

在此輸入影像描述

為什麼該 Unicode 字元或其他類似字元在 Windows 7 上的 Google Chrome 中無法顯示?

答案1

我假設這是一個字體替換問題。

瀏覽器遇到「所選字形不是指定字體」的問題。您可以從這裡開始有兩個方向:您可以從另一種字體中拉出等效的字形(這通常看起來很破損,但可能不清楚)為什麼向使用者顯示)或僅顯示一個未找到字元的佔位符(它總是看起來損壞,但至少顯然如此)。

我想 Firefox 和 Opera 認識到所請求的字形是可以安全地從另一種字體中提取的符號,而其餘的瀏覽器則比較保守,只顯示“呃...不知道”字形。

答案2

有趣的。不只是 Chrome——你可能會問為什麼任何以下瀏覽器無法在 Windows 7 上顯示:

在此輸入影像描述

由上至下:

  • 火狐瀏覽器(y)
  • IE9(n)
  • 鉻 (n)
  • 歌劇 (y)
  • 狩獵 (n)

因此,Firefox和Opera可以在Windows 7中顯示該unicode字符,但其他瀏覽器則不能。

這把鑰匙是什麼? ⎋

答案3

問題是“為什麼該 Unicode 字元在 Windows 7 上的 Google Chrome 中無法顯示?”是個

該特定字元只是一個 unicode 代碼點,它是任意數字。有很多 unicode 代碼點沒有「官方」符號。即使它們確實有符號,您的字體也不一定有該代碼點的符號。如果您選擇不同的字體,最終可能會得到不同的符號。

我查看了該頁面的 CSS,它顯示該字元以 Arial 格式顯示(加上一堆其他無關緊要的字體)。 Windows 附帶了 Arial,因此它應該始終首先選擇該字體。看起來像Arial不是有一個代表該 unicode 碼點的符號。每當您沒有代碼點的字形時,它都會放入某種形式的框,指示沒有字形(正如其他人指出的那樣)。

更大的問題是,Firefox 或其他瀏覽器在 Windows 上運作時到底在做什麼。我查看了 CSS 中列出的其他字體(我認為它可能會退回到下一個 CSS 字體),但它們也沒有該程式碼點的字形。一種可能性是 Firefox 實際上附帶了自己的字體。

深入研究 Firefox,我確實注意到這裡有一些數學符號的字體:「C:\Program Files (x86)\Mozilla Firefox\res\fonts」。也許這就是它的來源。

答案4

按照每個軟體開發人員絕對必須了解 Unicode 和字元集(沒有任何藉口!)的絕對最低限度,作者:Joel Spolsky,「如果您嘗試在編碼中表示的 Unicode 代碼點沒有等效項,您通常會得到一個小問號:?或者,如果您真的很擅長,則會出現一個盒子」。

我在 Archlinux 上運行 Chromium 13.0.782.112,我的預設編碼是 en_US.UTF-8 ——該字元在最初連結的頁面上顯示良好。

相關內容