web-dev-qa-db-ja.com

Chromeは特殊文字を表示しませんが、他のブラウザは表示します

文字コードを表示しようとしています❯この矢印を形成するパンくずリストのナビゲーション:❯

Firefox、Opera、IEで正しく表示されますが、Chromeでは表示されません。何か問題があるのでしょうか、それともChromeのバグですか?回避策はありますか?

Windows 7 Professional 64ビットでGoogle Chromeバージョン32.0.1700.107 mを使用しています。

12
Keavon

これは IE 9 に文字を表示できない)の複製とほぼ同じですが、その質問は特にIEと1つはChromeに関するものであり、変更を加えてここに回答をコピーします。

ブラウザ(Chromeを含む)では、要素に指定されたフォントに文字が存在しない場合、またはそのような指定がない場合、ブラウザのデフォルトフォントに文字が存在しない場合、レンダリングが困難な場合があります。ブラウザは、システム内のすべてのフォントをチェックする必要があります。文字が含まれているフォントを見つけますが、失敗する場合があります。一部のフォントには、その文字のグリフがある(ブラウザが検索を停止する)と主張しているが、持っていないという情報があるフォントがある場合があります。

解決策は、文字を含むことがわかっているフォントのリストを指定することです。 「❯」U + 276Fの右の右向きの角度の引用符の装飾(かなり特殊な文字)の場合、フォントの適用範囲は非常に制限されます。ほとんどのコンピュータにはそれを含むフォントがありません。次のようなフォントリストを指定できます。

 font-family: DejaVu Sans, Symbola, Everson Mono, Dingbats, Segoe UI Symbol,
 Quivira, SunExt-A, FreeSerif, Universalia, unifont;

しかし、ほとんどのユーザーはこれらのフォントのすべてを欠いています。 @ font-faceでダウンロード可能なフォント(Webフォント)を使用することを検討してください。 DejaVuフォント、Symbola、Quiviraはフリーフォントですが、ファイルサイズはかなり大きくなります。

または、画像の使用を検討してください。この文字は装飾用の絵文字であり、文字ではなく特別なグラフィックですが、レガシーの理由により、Unicodeの文字としてエンコードされています。

詳細: HTMLで特殊文字を使用するためのガイド

8

使ってみましたか

htmlspecialchars(string)

または

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