2009-03-21 19 views
10

Estoy tratando de mostrar los signos de derechos de autor e infinito en la parte inferior de mi página de utilizar este código:Cómo mostrar caracteres Unicode en IE usando HTML

&#x00A9 Copyright Mikle 2009 - &#x221E 

Esto funciona perfectamente en Firefox 2, 3 y Chrome . IE7 sin embargo, me está mostrando los códigos reales (como se ve arriba) en lugar de lo que cabe esperar y el otro programa de navegador:

© Copyright Mikle 2009 - ∞ 

Esto es probablemente algo estúpido, pero esto está haciendo a entender por qué IE es cada vez mucho odio. ¿Cómo puedo solucionar esto?

Respuesta

21

entidades necesitan un punto y coma:

© 

Firefox está siendo incorrectamente sobre-útil en este caso.

+0

Bueno, parece un requisito estúpido, ya que no es una frase común ("Hola, amigo mío y # x00fe!"), ¿Por qué TIENE que buscar;? Parece una complejidad innecesaria. – Mikle

+2

Es parte de la recomendación html, y la recomendación html prefiere la integridad (que conduce a analizadores más simples) sobre las suposiciones. La ironía aquí es que supusiste que IE tenía la culpa, cuando en realidad era IE el que se adhería estrictamente al "estándar". ;-) – Rahul

+3

Estoy de acuerdo en que esto es algo irónico ... He leído mucho acerca de las compatibilidades del navegador, y cómo IE apesta y todo el estricto VS problemas de análisis, y he aquí menos de 3 horas en mi primer proyecto web (Hice la mayoría de la programación de escritorio) Me siento un poco ... – Mikle

6
  1. Use valores decimales.
  2. Terminar siempre entidad con; (punto y coma) incluso en contexto, donde es opcional.
  3. Usar entidad con nombre siempre que sea posible. Sus entidades ejemplo, deben ser escritos © © y ∞

Otro enfoque, es olvidarse de las entidades, y sólo hay que poner llanura caracteres UTF-8 allí.

+0

Esto funciona pero hex es parte de unicode, entonces usaré el segundo método. – Mikle

+0

¿Te importaría explicar eso? – vartec

+0

Su vida será mucho más fácil si limita su texto HTML a ASCII de 7 bits. Si usa una codificación de 8 bits, debe asegurarse de que su servidor web inserte el parámetro de respuesta correcto para identificar esa codificación. Y es probable que alguien, en algún lugar, se equivoque. – kdgregory

2

¿No puedes usar "©"?

This page tiene una lista de códigos HTML para símbolos comunes.

+0

@Jimmy puede insertar HTML literal como código. – vartec

Cuestiones relacionadas