2011-08-08 8 views
7

Estoy trabajando en un sitio web y mientras lo visualizo en Firefox está bien, en IE tengo muchos problemas. Usé el validador w3c y obtuve muchos errores extraños.Error de validación: Marca de orden por bytes encontrada en el archivo UTF-8

Aquí está el enlace a la página web: http://misenplacecatering.it/

El primer error de validación, creo que el más relevante, es la siguiente:

Byte-Order Mark found in UTF-8 File. The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported. 

y

Line 1, Column 1: Non-space characters found without seeing a doctype first. Expected <!DOCTYPE html>. 

I He leído otros hilos sobre este tema, así que traté de abrir el archivo con diferentes editores (siempre uso Vim, de todos modos), pero no veo ningún espacio ni nada más antes de la definición del tipo de documento. Incluso utilicé notepad ++ y usé una opción para eliminar bom, pero nada.

¿Alguna sugerencia?

De todos modos,

+0

no me importa demasiado sobre el segundo error siempre y cuando no hayas eliminado el primero. De hecho, su página tiene los cuatro bytes adicionales al principio del archivo que sirven como lista de materiales. Elimine estos cuatro bytes e inténtelo de nuevo. – Codo

+1

Nunca use listas de materiales en UTF-8. Es otro error de Microsoft. – tchrist

+0

@tchrist: me gustaría verte expandir tu punto de vista al agregar una respuesta a la pregunta bastante popular [¿Qué es diferente entre utf-8 y utf-8 sin BOM?] (Http://stackoverflow.com/q/2223882/1497596). – DavidRR

Respuesta

11

si usa el bloc de notas ++, utilice Convertir a UTF-8 sin BOM.

si está utilizando php, asegúrese de que cualquier archivo incluido/requerido esté en ascii o UTF sin BOM, ya que php no maneja el archivo no ascii muy bien (este me dio un dolor de cabeza una vez)

podría intentar convertir sus archivos a ASCII, si no es necesario caracteres UTF

en su < charset meta > intentar escribir el valor entre comillas

+0

Gracias, el problema estaba en realidad en otro archivo php. Un archivo que ni siquiera se usa en la página de inicio. De todos modos, resolví guardarlo con Notepad ++ sin BOM. – Carlo

+3

me alegro de que haya ayudado.una vez tuve este problema en un tercer nivel, y no lo olvidaré – Einacio

+0

Me ayudó mucho, estaba teniendo un archivo de inclusión que no está sin BOM y que estaba creando un problema. –

1

editor de texto gratuito El PSPad tiene un modo de edición hexadecimal que es muy útil para ver exactamente lo que realmente tiene en sus archivos de texto.

Cuestiones relacionadas