¿La mejor manera de codificar el símbolo de grado Celsius en una página web?

85

¿Cómo debo codificar caracteres especiales en páginas web? Por ejemplo, necesito este símbolo ℃, que usé simplemente copiando y pegando el carácter como puedo verlo ahora. Esto funcionó para los navegadores de escritorio con los que verifiqué y también en iPad y iPhone, pero no se muestra nada en un Blackberry que usé para probar. ¿Existe una mejor práctica estándar para esto?

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

Evanss
fuente
¿Existe un pensamiento estándar sobre qué usar, UTF-8 vs Hex u otro formato? Gracias
Evanss
Ah, lo siento, no entendí tu pregunta al principio. Creo que generalmente se prefiere UTF-8. En cuanto al símbolo en sí, generalmente hago el signo de grado seguido de una C mayúscula, así: ° C. No estoy seguro de si esto es mejor o peor que su solución. Supongo que la mayor diferencia es el espaciado de letras entre los dos caracteres.
Nix
Creo que es necesario que este símbolo lo haga a tu manera. Gracias
Evanss

Respuestas:

177

Intente reemplazarlo con °, y también establecer el juego de caracteres en utf-8, como sugiere Martin.

°C obtendrá algo como esto:

Grados Celsius

Nada
fuente
La mejor respuesta, en mi opinión
Epirocks
¡Eso es perfecto!
Zobia Kanwal
37

Si realmente desea utilizar el carácter DEGREE CELSIUS “℃”, entonces copiar y pegar está bien, siempre que su documento esté codificado en UTF-8 y declarado como tal en los encabezados HTTP. El uso de la referencia de caracteres ℃funcionaría igualmente bien y funcionaría independientemente de la codificación de caracteres, pero la fuente sería mucho menos legible.

El problema con Blackberry es probablemente un problema de fuente. No sé sobre las fuentes en Blackberry, pero el repertorio de fuentes puede ser limitado. No hay nada que pueda hacer al respecto en HTML, pero puede usar CSS, posiblemente con @font face.

Pero rara vez hay razón para utilizar el GRADO CELSIUS. Es un carácter de compatibilidad, incluido en Unicode debido a su uso en la escritura de Asia Oriental. El estándar Unicode dice explícitamente en el Capítulo 15 (sección 15.2, página 497):

"En uso normal, es mejor representar los grados Celsius" ° C "con una secuencia de U + 00B0 signo de grado + U + 0043 letra mayúscula latina c, en lugar de U + 2103 grados Celsius".

El signo de grado “°” se puede ingresar de muchas maneras, incluida la referencia de entidad `°, pero normalmente es mejor insertarlo como un carácter, mediante copiar y pegar o de otra manera. En Windows, puede usar Alt 0176.

Advertencia: algunos navegadores pueden tratar el signo de grado como si permitiera un salto de línea después de él, incluso cuando no interviene ningún espacio, poniendo “°” y la siguiente “C” en líneas separadas. Hay diferentes formas de prevenir esto . Un método sencillo y eficaz es la siguiente: <nobr>42 °C</nobr>.

Jukka K. Korpela
fuente
1
Una de las mejores respuestas que he leído, con cita directa de una fuente clave. ¡¡Increíble!!
htm11h
1
¿Por qué tan complicado en absoluto? El grado centígrado está en la parte superior izquierda de mi teclado, solo presiónalo.
Pascal
2
@Pascal, ¿qué teclado podría ser?
Jukka K. Korpela
Utilice style = "white-space: nowrap" en lugar de <nobr>. developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
IceWarrior353
10

Usando sup en la letra "o" y una "C" mayúscula

<sup>o</sup>C

Debería funcionar en todos los navegadores e IE6 +

Persijn
fuente
11
La letra «o» no es el símbolo de grado, pero podría parecer el símbolo de grado para los humanos. Esto es un truco y resultará confuso para que las computadoras lo entiendan, como los lectores de pantalla y los motores de búsqueda.
gregers
4

Agrega una metaetiqueta a tu encabezado

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

Esto amplía la cantidad de caracteres que puede utilizar.

Martín Risell Lilja
fuente
5
En HTML5, <meta charset="utf-8"/>creo que puedes usarlo .
Drew Noakes
En mi caso, esta fue la verdadera solución. VS2015 se comporta de acuerdo con lo que dice la metaetiqueta "Content-Type".
German Latorre
Agregar esto resolvió un problema para mí en el que °se representaba como °en una imgetiqueta alt donde faltaba la imagen de origen.
StephenT
1
  1. El signo de grado pertenece al número y no a la "C". Puede considerar el signo de grado como un símbolo numérico, al igual que el signo menos.
  2. No podrá no haber ningún espacio entre los dígitos y el signo de grado.
  3. No se ser un espacio de no separación entre el signo de grado y la "C".
Johan Hoffsten
fuente
¿Podría dar una fuente de esas afirmaciones?
Matthieu
0

Si usa Java-JSP, lo que funcionó para mí es pegar a continuación en la página JSP

<%@ page contentType="text/html; charset=UTF-8" %>
veritas
fuente