我正面临这个问题,
如果在Windows 7下的IE9中打开,在我预先格式化的html块\
中,如果使用了courier字体,则呈现为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>
答案 0 :(得分:1)
我无法在Win 7上重现问题,所以我仍然怀疑原因是你的系统有一个名为“Courier”的实际字体(正常的Windows 7没有附带这样的字体)。关于反斜杠的字体是否被破坏,或者它只是没有它,浏览器从另一种字体中获取字符。在后一种情况下,该字体可能会被破坏。
令人惊讶的是,许多字体都有“₩”U + 20A9 WON SIGN的字形,它们应该有反斜杠的字形。关于原因有一些speculation。但问题是,除非您的浏览器采用备份字体,否则不应该使用这样的字体。在这种情况下,IE可能已设置为使用例如Batang Che是默认的等宽字体 - 而且它是带有该问题的字体之一。
在实践方面,几乎不应该使用“Courier”。在具有这种名称的字体的系统中,通常是位图字体看起来相当糟糕,尤其是在更改字体大小时。请改用“Courier New”。或者更好的东西,比如
pre, tt
{ font-family : Consolas, Lucida Console, Courier New, monospace; }
答案 1 :(得分:0)
Raymond Chen在评论中指出,浏览器可能猜错了编码。
如果要直接在文件中指定编码,则可以在页面的head元素中使用元标记,如下所示:
<meta http-equiv="Content-Type" content="text/html; charset=my_encoding_here">
其中my_encoding_here
实际上是一个字符串,表示您在创建HTML时使用的编码。常见的编码是utf-8
和ISO-8859-1
,但您应该确定您的编辑器正在使用哪种编码,并确保您匹配。
如果你正在提供这样的页面,那么你可以选择在你的网络服务器中指定编码,这会在返回页面时将信息放入HTML标题。