Il modo migliore per codificare il simbolo dei gradi Celsius in una pagina web?


85

Come dovrei codificare caratteri speciali nelle pagine web? Ad esempio, ho bisogno di questo simbolo ℃, che ho usato semplicemente copiando e incollando il carattere come lo vedo ora. Ha funzionato per i browser desktop con cui ho controllato e anche su iPad e iPhone, ma non viene visualizzato nulla su un Blackberry che ho usato per il test. Esiste una best practice standard per questo?

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


Esiste uno standard che pensa a cosa usare, UTF-8 vs Hex o un altro formato? Grazie
Evanss

Ah, scusa, all'inizio non ho capito la tua domanda. Credo che UTF-8 sia generalmente preferito. Per quanto riguarda il simbolo stesso, di solito faccio solo il segno di laurea seguito da una C maiuscola, in questo modo: ° C. Non sono sicuro se questo sia migliore o peggiore della tua soluzione. Immagino che la differenza più grande sia la spaziatura delle lettere tra i due caratteri.
Nix

Penso che sia necessario che questo simbolo faccia a modo tuo. Grazie
Evanss

Risposte:


177

Prova a sostituirlo con °e anche a impostare il set di caratteri su utf-8, come suggerisce Martin.

°C ti darà qualcosa del genere:

Gradi centigradi


Migliore risposta, a mio parere
Epirocks

È perfetto!
Zobia Kanwal il

37

Se vuoi davvero usare il carattere DEGREE CELSIUS "℃", copia e incolla è OK, a condizione che il tuo documento sia codificato UTF-8 e dichiarato come tale nelle intestazioni HTTP. L'uso del riferimento ai caratteri ℃funzionerebbe ugualmente bene e funzionerebbe indipendentemente dalla codifica dei caratteri, ma la fonte sarebbe molto meno leggibile.

Il problema con Blackberry è molto probabilmente un problema di font. Non conosco i caratteri su Blackberry, ma il repertorio dei caratteri potrebbe essere limitato. Non c'è niente che puoi fare al riguardo in HTML, ma puoi usare CSS, possibilmente con @font face.

Ma raramente ci sono ragioni per usare il DEGREE CELSIUS. È un carattere di compatibilità, incluso in Unicode a causa del suo utilizzo nella scrittura dell'Asia orientale. Lo standard Unicode dice esplicitamente nel Capitolo 15 (sezione 15.2, pagina 497):

"Nell'uso normale, è meglio rappresentare i gradi Celsius" ° C "con una sequenza di segno di grado U + 00B0 + U + 0043 lettera maiuscola latina c, piuttosto che U + 2103 gradi centigradi."

Il segno di grado “°” può essere inserito in molti modi, incluso il riferimento all'entità `°, ma normalmente è meglio inserirlo come carattere, tramite copia e incolla o altro. Su Windows, puoi usare Alt 0176.

Avvertenza: alcuni browser possono considerare il segno di grado come se consenta un'interruzione di riga dopo di esso anche quando non interviene nessuno spazio, mettendo "°" e la successiva "C" su righe separate. Esistono diversi modi per evitarlo . Un metodo semplice ed efficace è questo: <nobr>42 °C</nobr>.


1
Una delle migliori risposte che ho letto, con citazione diretta dalla fonte chiave. Eccezionale!!
htm11h

1
Perché è così complicato? Il grado centigrado si trova sul lato superiore sinistro della tastiera, basta premerlo?
Pascal

2
@Pascal, che tastiera potrebbe essere?
Jukka K. Korpela

Usa style = "white-space: nowrap" invece di <nobr>. developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
IceWarrior353

10

Usare sup sulla lettera "o" e una "C" maiuscola

<sup>o</sup>C

Dovrebbe funzionare in tutti i browser e IE6 +


11
La lettera «o» non è il simbolo del grado, ma potrebbe sembrare il simbolo del grado per gli esseri umani. Questo è un trucco e creerà confusione per i computer da capire, come lettori di schermo e motori di ricerca.
Gregers


4

Aggiungi un metatag alla tua intestazione

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

Questo espande la quantità di caratteri che puoi usare.


5
In HTML5 puoi semplicemente usare <meta charset="utf-8"/>credo.
Drew Noakes

Nel mio caso, questa era la vera soluzione. VS2015 si comporta in base a ciò che dice il meta tag "Content-Type".
German Latorre

L'aggiunta di questo ha risolto un problema per me in cui a °veniva visualizzato come °in un imgtag alt in cui mancava l'immagine di origine.
StephenT

1
  1. Il segno del grado appartiene al numero e non alla "C". Puoi considerare il segno di grado come un simbolo numerico, proprio come il segno meno.
  2. Ci deve non essere alcun spazio tra le cifre e il simbolo di grado.
  3. Ci deve essere uno spazio unificatore tra il segno e il grado di "C".

Potresti fornire una fonte di queste affermazioni?
Matthieu

0

Se si utilizza Java-JSP, ciò che ha funzionato per me è incollare di seguito nella pagina JSP

<%@ page contentType="text/html; charset=UTF-8" %>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.