![为什么当我在 Firefox 中选择 Unicode 时,欧洲口音无法正常显示?](https://linux22.com/image/1223835/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BD%93%E6%88%91%E5%9C%A8%20Firefox%20%E4%B8%AD%E9%80%89%E6%8B%A9%20Unicode%20%E6%97%B6%EF%BC%8C%E6%AC%A7%E6%B4%B2%E5%8F%A3%E9%9F%B3%E6%97%A0%E6%B3%95%E6%AD%A3%E5%B8%B8%E6%98%BE%E7%A4%BA%EF%BC%9F.png)
我以为 Unicode 是关于外来字符的,那么为什么当选择 Unicode 字符编码时,Firefox 不显示重音符号而是显示奇怪的字符呢?
答案1
您在浏览器中选择的编码会告诉浏览器将页面解释为以所选编码编写的页面。通常服务器(或 HTML 文件)会自己告诉浏览器页面采用的是什么编码。因此,通常自动选择应该是正确的。
如果您手动覆盖此选项并选择编码,则页面不是使用,那么你会看到奇怪的字符是正常的:浏览器的结果试将页面解释为以所选编码编写的页面。如果页面以 Latin 1 编写,并且包含使用变音符号(例如 ö)的单词,那么如果您选择 Unicode(UTF-8)作为页面编码,您可能会看到 U+FFFD(� - 通常是一个黑色菱形或空心方块中的问号)出现在其位置(并且可能会吞噬以下字符)。
相反,如果页面是用 UTF-8 编写的,而您选择 Latin 1,那么您将看到字符“ö”而不是“ö”。您只是告诉浏览器应该尝试解释什么。您无法保证您的猜测是正确的。