如何显示 CP437 字符集?

How can I display CP437 charsets?

有谁知道如何显示 CP437 字符集?例如字符 ▒ 和 ░ ? 我试着在 html 元标记中说:

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

但是我没有看到上面的任何字符。

有两个不同的问题。一个是关于对 HTML 文档使用 CP437 字符编码。即使在官方协议中,字符编码通常也被称为“字符集”。答案是原则上你可以使用CP437,但实际上它几乎没有任何回报。

声明 CP437 的正确标签是

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

或者,更简单,

<meta charset=IBM437>

在第一个语法中,请注意引号的使用。根据 IANA registry,CP437 的首选 MIME 名称是 IBM437。这只是一个原则问题;在实践中,CP437 这个名字的效果一样好,或者一样差。

(注意:任何此类 meta 标记都可以被 HTTP header 或实际数据开头的 UTF-8 BOM 覆盖。您无法在 HTML 到这样的事情。)

实用方面,在Win 7的现代浏览器中测试,只有IE支持CP437。 Firefox 和 Chrome 都回退到它们的默认编码,在我的例子中是 windows-1252。这意味着字节将以完全不同的方式解释。

另外一个问题就是CP437可以表示的字符能不能。答案是肯定的:所有这些字符都是 Unicode 字符,您可以 use them like any other characters 以广泛支持的编码(实际上是 UTF-8)或使用独立于字符编码工作的字符引用。示例:

<p>▒ and ░ (the characters as such)</p>
<p>&#x2592; and &#x2591; (using hexadecimal references)</p>
<p>&#9618; and &#9617; (using decimal references)</p>

Wikipedia page on CP437. I’m afraid I can’t give a really authoritative reference, but the IANA registry refers to RFC 1345 中有关于 CP437 到 Unicode 映射的可读但 non-authoritative 信息,尽管它只是信息性的。