Chcę po prostu wyświetlić symbole zaznaczenia (✔) i krzyżyka (✘) na stronie HTML, ale pojawia się jako ramka lub goop - - oczywiście ma to związek z kodowaniem.
Ustawiłem metatag tak, aby pokazywał utf-8, ale oczywiście czegoś mi brakuje.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Edycja / rozwiązanie: Na podstawie komentarzy, używając FireBug, stwierdziłem, że nagłówki przekazywane przez moją stronę to w rzeczywistości „Content-Type: text / html”, a nie UTF-8. Patrząc na format pliku za pomocą Notepad ++, pokazałem, że mój plik został sformatowany jako „UTF-8 bez BOM”. Zmieniając to tylko na UTF-8, symbole są teraz wyświetlane poprawnie ... ale firebug nadal wydaje się wskazywać ten sam typ zawartości.
content
właściwości::before
selektora CSS , należałoby użyć notacji z ukośnikiem odwrotnym. np .: „\ 2713” zamiast „& # 2713”.Wiem, że odpowiedź została już zaakceptowana, ale chciałem zwrócić uwagę na kilka rzeczy.
Ustawienie
content-type
icharset
jest oczywiście dobrą praktyką, robienie tego na serwerze jest znacznie lepsze, ponieważ zapewnia spójność w całej aplikacji.Jednak użyłbym
UTF-8
tylko wtedy, gdy język mojej aplikacji używa wielu znaków, które są dostępne tylko w zestawieUTF-8
znaków. Jeśli chcesz wyświetlić znak lub symbol Unicode w jednym z przypadków, możesz to zrobić bez zmianycharset
strony.HTML
renderery zawsze były w stanie wyświetlać symbole, które nie są częścią zestawu znaków kodowania strony, o ile wspominasz o symbolu w jegonumeric character reference (NCR)
. Brzmi dziwnie, ale to prawda.Tak więc, nawet jeśli Twój
html
ma nagłówek stwierdzający, że ma kodowanieansi
lub którykolwiek ziso
zestawów znaków, możesz wyświetlić znacznik wyboru, używając odwołania do znaku HTML, w systemie dziesiętnym - & # 10003; lub szesnastkowo - & # x2713;Dlatego trochę trudno jest zrozumieć, dlaczego napotykasz ten problem na swoich stronach. Czy możesz sprawdzić, czy wartość NCR jest poprawna, to jest dobre odniesienie http://www.fileformat.info/info/unicode/char/2713/index.htm
źródło
Upewnij się, że faktycznie zapisujesz plik jako UTF-8, alternatywnie użyj encji HTML (
&#nnn;
) dla znaków specjalnych.źródło
fileencoding
ustawienia.W przeciwieństwie do propozycji Nicolasa,
meta
tag nie jest ignorowany przez przeglądarki. JednakContent-Type
nagłówek HTTP ma zawsze pierwszeństwo przed obecnościąmeta
znacznika w dokumencie.Dlatego upewnij się, że wysyłasz poprawne kodowanie przez nagłówek HTTP lub w ogóle nie wysyłasz tego nagłówka HTTP (niezalecane).
meta
Tag jest głównie awaryjna opcja dla lokalnych dokumentów, które nie są przesyłane za pośrednictwem ruchu HTTP.Używanie encji HTML również powinno być traktowane jako obejście - to obejście prawdziwego problemu na palcach. Prawidłowa konfiguracja serwera WWW zapobiega wielu niedogodnościom.
źródło
Myślę, że jest to problem z plikiem, po prostu zapisałeś plik w kodowaniu 1-bajtowym, takim jak latin-1. Wygoogluj swój edytor i jak ustawić pliki na utf-8.
Zastanawiam się, dlaczego istnieją edytory, które nie domyślnie używają utf-8.
źródło