2

我正面临这个问题,

如果在 Windows 7 下的 IE9 中打开,如果使用 courier 字体,则在我的预格式化 html 块\中呈现为 wong 符号₩。如果我设置 Tahoma,例如,没关系。在 chrome 中,即使设置了 courier,符号也会呈现为反斜杠。

如何解决?

编辑:重现此的代码:

<html><head>
<style>
            pre {
              margin-top: 10px;
              padding-left: 7px;
              padding-top: 5px;
              margin-left: 50px;
              font-family: courier;
            background-color:#ddd;
            }
        </style></head><body>
<pre>
Can\'t
</pre> 
</body></html>
4

2 回答 2

1

我无法在我的 Win 7 上重现该问题,所以我仍然怀疑原因是您的系统有一个名为“Courier”的实际字体(普通的 Windows 7 不附带这种字体)。该字体在反斜杠方面被破坏了,或者它只是缺少它并且浏览器从另一种字体中拾取该字符。在后一种情况下,该字体可能会损坏。

令人惊讶的是,有很多字体都有“₩”U+20A9 WON SIGN 的字形,它们应该有一个反斜杠的字形。对于其中的原因,外界有一些猜测。但关键是,除非您的浏览器采用备份字体,否则没有理由使用这种字体。在这种情况下,IE 可能已设置为使用例如 Batang Che 作为默认等宽字体——它是存在该问题的字体之一。

在实际方面,几乎不应该使用“Courier”。在具有这种名称的字体的系统中,它通常是一种看起来相当糟糕的位图字体,尤其是在更改字体大小时。请改用“Courier New”。或者更好的东西,比如

pre, tt
  { font-family : Consolas, Lucida Console, Courier New, monospace; }
于 2012-10-19T14:51:15.153 回答
0

正如 Raymond Chen 在评论中指出的那样,浏览器可能猜错了编码。

如果要直接在文件中指定编码,则可以在页面的 head 元素中使用元标记,如下所示:

<meta http-equiv="Content-Type" content="text/html; charset=my_encoding_here">

wheremy_encoding_here实际上是一个字符串,表示您在创建 HTML 时使用的编码。常见的编码是utf-8and ISO-8859-1,但你应该弄清楚你的编辑器正在使用哪种编码,并确保你匹配它

如果您正在提供这样的页面,那么您可能会选择在您的网络服务器中指定编码,这将在返回页面时将信息放入 HTML 标头中。

于 2012-10-19T16:36:25.150 回答