2

私はこの問題に直面しています、

Windows 7 の IE9 で開いた\場合、クーリエ フォントが使用されている場合、事前にフォーマットされた html ブロッ​​クはウォン記号 ₩ としてレンダリングされます。たとえば、Tahoma を設定した場合は問題ありません。chrome では、クーリエが設定されていても、シンボルはバックスラッシュとしてレンダリングされます。

修正方法は?

編集:これを再現するコード:

<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 などをデフォルトのモノスペース フォントとして使用するように設定されている可能性があります。これは、その問題を抱えているフォントの 1 つです。

実用面では、「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">

実際my_encoding_hereには、HTML の作成時に使用したエンコーディングを表す文字列です。一般的なエンコーディングはutf-8ISO-8859-1ですが、エディタが使用しているエンコーディングを正確に把握し、それと一致していることを確認する必要があります

このようなページを提供している場合は、Web サーバーでエンコーディングを指定することを選択できます。これにより、ページが返されるときに情報が HTML ヘッダーに挿入されます。

于 2012-10-19T16:36:25.150 に答える