2012-10-23 15 views
6

Próbuję dowiedzieć się, dlaczego takie postacie: & # x01F449; pokaż się jak puste pola. Są to jednak znaki unicode, a charset to utf-8.Znaki specjalne UTF-8 nie pojawiają się

Czy może to być problem z czcionkami, który nie ma dla tego glifu? Jakieś pomysły?
Szczegóły: strona HTML, używam Firefox 16.0.1, Windows 7 .. Page jak w tym poście nie widzę ten glif albo
Dzięki

+1

Cóż, odpowiedziałeś na swoje pytanie w ramach samego pytania.) – raina77ow

+0

To całkowicie zależy od środowiska. Proszę podać ogromne ilości dodatkowych szczegółów. – SLaks

+0

@ raina77ow ok, dziękuję. Czy znasz niektóre czcionki, które są w stanie pokazać tę postać na stronie internetowej. Czy to jest tylko poprawka html - mam na myśli dodanie rodziny czcionek: SOME_UNICODE_FONT i to się stanie. To zależy od czcionek w przeglądarce lub czcionek systemowych? –

Odpowiedz

6

Postać, którą tam masz to Unicode Character 'WHITE RIGHT POINTING BACKHAND INDEX' (U+1F449). Na tej stronie znajduje się lista znanych czcionek, które wspierają postać znajdującą się za linkiem: Fonts that support U+1F449.

czcionki
LastResort
Segoe UI Emoji
Segoe UI Symbol
Symbola

Żadna z tych czcionek jest stosowany tutaj na stackoverflow.com, więc można również zobaczyć puste pole.

Jeśli dzieje się to na twojej własnej stronie internetowej i chcesz to naprawić, musisz dostarczyć czcionkę pomocniczą wraz z aplikacją webową CSS @font-face, lub w tym konkretnym przypadku, być może lepiej, poszukać Biblioteka ikon oparta na CSS, taka jak Font Awesome. The <i class="fa fa-hand-o-right"> jest bardzo blisko tej postaci.

+0

Wielkie dzięki. To wyjaśnia wszystko. Więc kiedy chcę użyć "dziwnej" postaci, powinienem zawsze pomyśleć o tym, jakie czcionki są zainstalowane w przeglądarce użytkownika końcowego, prawda? –

+1

Nie ma za co. To jest poprawne. Możesz jednak również dostarczyć własną czcionkę wraz z aplikacją webową za pomocą CSS '@ font-face'. – BalusC

+0

Poza czcionkami, których strona internetowa jest zaprojektowana, istotne jest również zachowanie awaryjne czcionki w przeglądarce i systemie operacyjnym. – bames53

1

Brakujące znaki czcionki zazwyczaj są podstawione z innych czcionek i UTF-8 powinien być w stanie wyświetlić wszystkie znaki Unicode. Podejrzewam, że kodowanie twojego pliku (jak jest zapisywane przez twojego edytora), nie pasuje do deklaracji w metatagach strony HTML.

Możesz sprawdzić swoją stronę za pomocą tego W3-checker, może to dać Ci wskazówki dotyczące problemu z twoją stroną.

EDIT:

Masz rację, to nie jest problem, kodowania, liczba charakter ma tak wysoką liczbę, że „normalna” czcionki nie obsługuje. Być może możesz użyć jednego z tych ☛ ☞, w przeciwnym razie będziesz musiał użyć czcionki internetowej, a czcionki z pełną obsługą Unicode mogą być dość duże.

+0

martin, czy widzisz ten glif w moim poście? lub widzisz ten kwadrat z kodami? Moja strona zawiera deklarację UTF zestawu znaków. –

+0

@pawlakppp - Widzę kwadrat, jaki to powinien być symbol? – martinstoeckli

+0

powinien być skierowany w prawo. Więc widzisz, że SO jest zdecydowanie zgodny z utf-8 i nie widzimy tego symbolu. –

4

Postać U + 1F449 została dodana do Unicode w wersji 6 w 2010 roku i zwykle trwa około dziesięciu lat od przyjęcia znaku w Unicode, zanim będzie szeroko obsługiwany czcionkami.

Do kilku czcionek, które go zawierają, należą teraz Symbola i symbol Segoe UI. Jeśli któryś z nich jest zainstalowany, prawdopodobnie go zobaczysz; inaczej nie. Segoe UI Symbol jest dostarczany z Windows 8 i najwyraźniej z (przynajmniej niektórymi wariantami) Windows 7, chociaż wersja Windows 7 może być ograniczona - wersja update jest dostępna w firmie Microsoft. Symbola to bezpłatna czcionka, więc można ją w zasadzie używać jako czcionki do pobrania (przez @font-face), ale jej rozmiar jest dość duży.

Przeglądarki internetowe powinny używać czcionek zastępczych, jeśli czcionki określone dla elementu nie zawierają glifów dla niektórych znaków w treści.Zwykle Firefox implementuje tę wolę, tak jak IE, zwłaszcza w starszych wersjach, więc jeśli użyjesz znaku na stronie internetowej, najlepiej jest zawinąć element własny (zwykle używa się do tego celu span) i ustawić następujące ustawienia: na nim w CSS:

font-family: Segoe UI Symbol, Symbola; 

ale to jako taki (bez @font-face) działa tylko dla osób korzystających z komputerów, które zawierają jeden z czcionkami.

+0

Dziękuję za wyjaśnienia, wypróbowałem to czcionką, następnie zainstalowałem i użyłem bez czcionki, i wszystko działało tak, jak powiedziałeś;) –