2012-10-23 8 views
6

Ich versuche herauszufinden, warum Zeichen wie folgt: & # x01F449; zeige sich wie leere Kisten. Sie sind Unicode-Zeichen und Zeichensatz ist utf-8.UTF-8 Sonderzeichen nicht angezeigt

Kann es ein Schriftproblem sein, das keine Glyphe dafür hat? Irgendwelche Ideen?
Details: HTML-Seite, ich benutze Firefox 16.0.1, Windows 7 .. Seite wie auf diesem Beitrag nicht, dass ich diese Glyphe sehe entweder
Dank

+1

Nun, Sie haben Ihre Frage in der Frage selbst beantwortet.) – raina77ow

+0

Es hängt vollständig von Ihrer Umgebung ab. Bitte liefern Sie große Mengen zusätzlicher Details. – SLaks

+0

@raina77ow ok, danke. Kennst du einige Schriftarten, die diesen Charakter auf der Website zeigen können? Ist es nur HTML zu beheben - ich meine Font-Familie hinzufügen: SOME_UNICODE_FONT und es wird getan. Es hängt von Webbrowser-Schriftarten oder Systemschriftarten ab? –

Antwort

6

Das Zeichen, das Sie dort haben, ist die Unicode Character 'WHITE RIGHT POINTING BACKHAND INDEX' (U+1F449). Auf dieser Seite finden Sie eine Liste bekannter Schriftarten, die das Zeichen hinter dem Link Fonts that support U+1F449 unterstützen.

Font
LastResort
Segoe UI Emoji
Segoe UI Symbol
Symbola

Keines dieser Schriftarten wird bereits hier auf stackoverflow.com verwendet, so dass Sie auch ein leeres Feld sehen werden.

Wenn dies auf Ihrer eigenen Website geschieht, und Sie es beheben möchten, dann müssten Sie eine unterstützende Schriftart zusammen mit der Webanwendung von CSS @font-face, oder in diesem speziellen Fall vielleicht besser, suchen Sie nach einem CSS-basierte Symbolbibliothek wie Font Awesome. Die <i class="fa fa-hand-o-right"> kommt diesem Charakter sehr nahe.

+0

Vielen Dank. Das erklärt alles. Wenn ich also "seltsame" Zeichen verwenden möchte, sollte ich immer darüber nachdenken, welche Schriftarten auf dem Endbenutzer-Webbrowser installiert sind, oder? –

+1

Gern geschehen. Das ist richtig. Sie können aber auch Ihre eigene Schriftart zusammen mit der Webapp mit CSS '@ font-face' angeben. – BalusC

+0

Nicht nur die Schriftarten, die eine Webseite verwenden soll, sondern auch das Schriftarten-Ausweichverhalten des Browsers und des Betriebssystems sind relevant. – bames53

1

Fehlende Schriftzeichen werden in der Regel mit anderen Schriftart ersetzt werden, und UTF-8 sollte in der Lage sein, alle Unicode-Zeichen anzuzeigen. Ich vermute, dass die Kodierung Ihrer Datei (wie sie von Ihrem Editor gespeichert wird) nicht mit der Deklaration in den Meta-Tags Ihrer HTML-Seite übereinstimmt.

Sie können Ihre Seite mit dieser W3-checker überprüfen, es kann Ihnen möglicherweise Hinweise auf das Problem Ihrer Seite geben.

EDIT:

Sie haben Recht, es ist keine Codierung Problem, die Anzahl der Zeichen hat eine so hohe Zahl, dass die „normalen“ Fonts es nicht unterstützen. Vielleicht können Sie eines dieser ☛ ☞ verwenden, sonst müssten Sie eine Webschrift verwenden, und Schriften mit voller Unicode-Unterstützung können ziemlich groß sein.

+0

Martin, kannst du diese Glyphe in meinem Beitrag sehen? oder siehst du dieses Quadrat mit Codes? Meine Seite enthält die Zeichensatz utf-8 Deklaration. –

+0

@pawlakppp - Ich sehe das Quadrat, welche Art von Symbol sollte es sein? – martinstoeckli

+0

sollte es von Hand nach rechts zeigen. Sie sehen also, dass SO definitiv utf-8-kompatibel ist und wir dieses Symbol nicht sehen –

4

Das Zeichen U + 1F449 wurde 2010 in Unicode in Version 6 hinzugefügt, und es dauert in der Regel etwa zehn Jahre von der Übernahme eines Zeichens in Unicode, bevor es in Schriftarten weitgehend unterstützt wird.

Die wenigen Schriftarten, die es jetzt enthalten, enthalten Symbola und Segoe UI Symbol. Wenn Sie eines von beiden installiert haben, werden Sie es wahrscheinlich sehen. sonst nicht. Segoe UI Symbol wird mit Windows 8 und anscheinend mit (mindestens einigen Varianten von) Windows 7 ausgeliefert, obwohl die Windows 7-Version möglicherweise begrenzt ist - ein update ist von Microsoft erhältlich. Symbola ist eine freie Schriftart, also könnte man sie grundsätzlich als herunterladbare Schriftart verwenden (über @font-face), aber ihre Dateigröße ist ziemlich groß.

Webbrowser sollten Fallback-Schriftarten verwenden, wenn die für ein Element angegebenen Schriftarten kein Zeichen für ein Zeichen im Inhalt enthalten.Firefox implementiert im Allgemeinen diesen Willen, IE nicht, besonders in älteren Versionen. Wenn Sie also das Zeichen auf einer Webseite verwenden, ist es am besten, ein eigenes Element einzubinden (normalerweise wird span für diesen Zweck verwendet) und Folgendes festlegen auf sie in CSS:

font-family: Segoe UI Symbol, Symbola; 

aber dies wird als solche (ohne @font-face) arbeiten nur für Menschen mit Computern, die eine der Schriftarten enthalten.

+0

Vielen Dank für die Erklärung, ich habe es mit font-face versucht, dann habe ich es installiert und es ohne Schrift-Gesicht verwendet, und alles hat funktioniert, wie Sie sagten;) –

Verwandte Themen