Un problema que nunca se resolvió durante el desarrollo es que la página usa codificación UTF8 y el encabezado y el final usan el método de archivos de inclusión de plantilla. Como resultado, hay una línea en blanco adicional de aproximadamente 10 píxeles en el encabezado y el final sin ninguna línea. razón, y no hay nada.
La razón es que todos están codificados en utf8. Al incluir archivos, la secuencia binaria final contiene múltiples etiquetas BOM UTF8. IE no puede analizar páginas que contienen múltiples etiquetas BOM UTF8 normalmente y las reemplaza directamente con los retornos de carro reales mostrados, lo que resulta en un error. Líneas en blanco, pero Firefox no tiene este problema.
Por lo tanto, si la plantilla utiliza el método de inclusión para contener múltiples archivos utf8 y necesita guardarse con ultraedit, simplemente seleccione utf8 sin formato BOM al guardar como función.
Además, si la página china coloca la etiqueta de título delante de <meta http-equiv=”content-type” content=”text/html; charset=UTF-8″ /> en la etiqueta de encabezado html, la página será blanco.
Por lo tanto, las páginas utf8 deben usar el orden estándar
<meta http-equiv=”content-type” content=”text/html” charset=UTF-8″ />;
<meta http-equiv=”idioma-contenido” contenido=”zh-CN” />
<meta nombre=”robots” contenido=”índice, seguir” />
<meta nombre=”palabras clave” contenido=”” />
<meta nombre=”descripción” contenido=”” />
<meta nombre=”calificación” contenido=”general” />
<meta nombre=”autor” contenido=”” />
<meta nombre=”copyright” contenido=”” />
<meta nombre=”generador” contenido=”” />
<title></title>
Encabezado de BOM: xEFxBBxBF. PHP4 y 5 aún ignoran la BOM, por lo que se generan directamente antes del análisis.
Hay una descripción especial de este problema en las preguntas frecuentes estándar de w3.org:
http://www.w3.org/International/questions/qa-utf8-bom
Los detalles son los siguientes:
En la codificación UCS, hay un código llamado carácter "ZERO WIDTH NO" -BREAK SPACE", su codificación es FEFF. FFFE es un carácter que no existe en UCS, por lo que no debería aparecer en la transmisión real. La especificación UCS recomienda que transmitamos los caracteres "ESPACIO SIN INTERRUPCIÓN DE ANCHO CERO" antes de transmitir el flujo de bytes. De esta manera, si el receptor recibe FEFF, indica que el flujo de bytes es Big-Endian; si recibe FFFE, indica que el flujo de bytes es Little-Endian; Por lo tanto, el carácter "ESPACIO SIN INTERRUPCIÓN DE ANCHO CERO" también se denomina BOM.
UTF-8 no requiere una BOM para indicar el orden de los bytes, pero puede usar la BOM para indicar el método de codificación. La codificación UTF-8 del carácter "ESPACIO SIN INTERRUPCIÓN DE ANCHO CERO" es EF BB BF. Entonces, si el receptor recibe un flujo de bytes que comienza con EF BB BF, sabrá que está codificado en UTF-8.
Windows es un sistema operativo que utiliza BOM para marcar el método de codificación de archivos de texto: WindowsXP Professional, juego de caracteres predeterminado: chino
1) Bloc de notas: puede identificar automáticamente archivos con formato de codificación UTF-8 sin BOM, pero no puede controlar si se guardan los archivos. agregue BOM. Si el archivo se guarda, la BOM se agregará de manera uniforme.
2) editplus: no puede reconocer automáticamente archivos con formato de codificación UTF-8 sin BOM. Al guardar el archivo, seleccione el formato UTF-8 y no escribirá el encabezado BOM en el encabezado del archivo.
3) UltraEdit: la función más potente para codificación de caracteres. identificar automáticamente archivos UTF-8 con BOM y sin BOM (se puede configurar al guardar, puede elegir si desea agregar BOM a través de la configuración
(una nota especial es que al guardar un archivo recién creado, debe elegir guardar como UTF)
.-8 sin formato bom)
Más tarde descubrí que Notepad ++ también tiene mejor soporte para utf-8 bom, y recomiendo a todos que lo usen.