Najlepszy sposób na zakodowanie symbolu stopnia Celsjusza na stronie internetowej?


85

Jak kodować znaki specjalne na stronach internetowych? Na przykład potrzebuję tego symbolu ℃, którego użyłem po prostu kopiując i wklejając znak, tak jak widzę go teraz. To działało w przeglądarkach stacjonarnych, z którymi sprawdzałem, a także na iPadzie i iPhonie, ale nic nie jest wyświetlane na Blackberry, którego użyłem do testów. Czy istnieje standardowa najlepsza praktyka?

http://www.fileformat.info/info/unicode/char/2103/browsertest.htm


Czy istnieje standardowe myślenie o tym, czego użyć, UTF-8 vs Hex lub inny format? Dzięki
— Evanss

Ach, przepraszam, na początku nie zrozumiałem twojego pytania. Uważam, że generalnie preferowany jest UTF-8. Jeśli chodzi o sam symbol, zwykle robię po prostu znak stopnia, po którym następuje duża litera C, na przykład: ° C. Nie jestem pewien, czy to jest lepsze, czy gorsze od twojego rozwiązania. Myślę, że największą różnicą jest odstęp między literami między dwoma znakami.
— Nix

Myślę, że konieczne jest, aby ten symbol robił to na swój sposób. Dzięki
— Evanss

Odpowiedzi:


177

Spróbuj zamienić go na °, a także ustawić zestaw znaków na utf-8, jak sugeruje Martin.

°C dostaniesz coś takiego:

Stopnie Celsjusza


Moim zdaniem najlepsza odpowiedź
— Epirocks

To idealne!
— Zobia Kanwal

37

Jeśli naprawdę chcesz użyć znaku DEGREE CELSIUS „℃”, kopiowanie i wklejanie jest OK, pod warunkiem, że twój dokument jest zakodowany w UTF-8 i zadeklarowany jako taki w nagłówkach HTTP. Użycie odwołania do znaku ℃działałoby równie dobrze i działałoby niezależnie od kodowania znaków, ale źródło byłoby znacznie mniej czytelne.

Problem z Blackberry to najprawdopodobniej problem z czcionkami. Nie wiem o czcionkach na Blackberry, ale repertuar czcionek może być ograniczony. W HTML nic nie możesz na to poradzić, ale możesz użyć CSS, prawdopodobnie z @font face.

Ale rzadko jest jakiś powód, aby używać DEGREE CELSIUS. Jest to znak zgodności, zawarty w Unicode ze względu na jego użycie w piśmie wschodnioazjatyckim. Standard Unicode wyraźnie mówi w rozdziale 15 (sekcja 15.2, strona 497):

„Przy normalnym użytkowaniu lepiej jest przedstawiać stopnie Celsjusza„ ° C ”za pomocą sekwencji U + 00B0 stopni Celsjusza + U + 0043 łacińska wielka litera c zamiast U + 2103 stopnie Celsjusza.”

Znak stopnia „°” można wprowadzić na wiele sposobów, łącznie z odniesieniem do jednostki „°, ale zwykle najlepiej jest wstawić go jako znak, poprzez kopiowanie i wklejanie lub w inny sposób. W systemie Windows możesz użyć Alt 0176.

Uwaga: Niektóre przeglądarki mogą traktować znak stopnia jako umożliwiający podział wiersza po nim, nawet jeśli nie ma spacji, umieszczając „°” i następujące po nim „C” w oddzielnych wierszach. Istnieją różne sposoby, aby temu zapobiec . Prosta i skuteczna metoda jest taka: <nobr>42 °C</nobr>.


1
Jedna z najlepszych odpowiedzi, jakie przeczytałem, z bezpośrednim cytatem z kluczowego źródła. Niesamowite!!
— htm11h

1
Dlaczego w ogóle takie skomplikowane? Stopień Celsjusza znajduje się w lewym górnym rogu klawiatury, wystarczy go nacisnąć?
— Pascal

2
@Pascal, jaka to może być klawiatura?
— Jukka K. Korpela

Użyj style = "white-space: nowrap" zamiast <nobr>. developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
— IceWarrior353

10

Używanie sup na literze „o” i dużej „C”

<sup>o</sup>C

Powinien działać we wszystkich przeglądarkach i IE6 +


11
Litera „o” nie jest symbolem stopnia, ale może wyglądać jak symbol stopnia dla ludzi. Jest to hack i będzie trudne do zrozumienia dla komputerów - takich jak czytniki ekranu i wyszukiwarki.
— gregers


4

Dodaj metatag do swojego nagłówka

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

Zwiększa to liczbę znaków, których możesz użyć.


5
W HTML5 możesz po prostu użyć <meta charset="utf-8"/>Wierzę.
— Drew Noakes

W moim przypadku to było prawdziwe rozwiązanie. VS2015 zachowuje się zgodnie z tym, co mówi metatag „Content-Type”.
— Niemiecki Latorre

Dodanie tego rozwiązało problem, który powodował, że a °był renderowany jak °w imgtagu alt, w którym brakowało obrazu źródłowego.
— StephenT

1
  1. Znak stopnia należy do liczby , a nie do litery „C”. Znak stopnia można traktować jako symbol liczby, tak jak znak minus.
  2. Nie powinno nie być żadnych spacji między cyframi i stopień znaku.
  3. Pomiędzy znakiem stopnia a literą „C” musi znajdować się nienaruszająca się przestrzeń.

Czy mógłbyś podać źródło tych twierdzeń?
— Matthieu

0

Jeśli używasz Java-JSP, to, co zadziałało, to wkleić poniżej na stronie JSP

<%@ page contentType="text/html; charset=UTF-8" %>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.