GB2312 es la codificación de chino simplificado, por lo que cuando los artículos/páginas web contienen chino tradicional, japonés y coreano, es posible que el contenido no esté codificado correctamente.
También existe una codificación un poco más amplia que GB2312, que es GBK, que incluye la codificación del chino tradicional, pero todavía hay problemas para idiomas con alfabetos no latinos en otros países.
La codificación UTF-8 es una codificación muy utilizada en páginas web. En realidad es una codificación Unicode, que se dedica a incorporar todos los idiomas del mundo en una codificación unificada. Actualmente, "UTF No. 8" ha integrado varios idiomas asiáticos importantes, incluidos el chino simplificado, el japonés y el coreano. Las páginas web codificadas en UTF 8 son "compatibles internacionalmente" en cierto sentido. Además, muchos terminales móviles utilizan codificación UTF-8. Si un sitio web considera desarrollar una interfaz WAP y los datos del sitio web en sí están codificados en UTF-8, entonces se elimina el problema de transcodificación al desarrollar una interfaz WAP.
¿El código del sitio web existente es GB2312? ¿Estás un poco emocionado de ver la codificación UTF-8? Este artículo le enseña cómo cambiar el sitio web de GB2312 a UTF-8.
Antes de realizar la conversión, debes considerar si es necesario transcodificar tu sitio web. Propongo algunos puntos para su referencia:
1. ¿El público objetivo del sitio web está limitado a un círculo pequeño, China continental, incluidos Hong Kong, Macao y Taiwán, o incluso el mundo?
2. En la codificación GB2312, un carácter chino ocupa 2 bytes, mientras que en UTF-8, un carácter chino ocupa 3 bytes. ¿Vale la pena el espacio extra?
3. Es posible que los sistemas de bases de datos antiguos (como mysql 4.0 y versiones anteriores) no tengan soporte integrado para UTF-8. Aunque este documento tiene soluciones, no descarta algunos posibles problemas menores.
4. ¿Es fácil editar el archivo de la página web después de convertirlo a codificación UTF-8? Actualmente estoy usando ZDE4, que admite muy bien la codificación UTF-8 después de configurarlo. El método de configuración está en el menú Herramientas -> En "Preferencias", haga clic en la pestaña "Editar" y cambie la codificación a UTF-8.
Una vez que haya considerado su decisión de transcodificación, estará listo para comenzar. Este artículo solo toma PHP 4.0 ~ 5.MySQL 3.23 ~ 4.0 como ejemplo.
Primero, para transcodificar la base de datos, cree una nueva base de datos y la estructura de tabla correspondiente para almacenar los resultados de la transcodificación. Si no hay un sistema de base de datos integrado que admita UTF-8, se recomienda cambiar los campos CHAR, VARCHAR y TEXT utilizados para almacenar chino a BINARY, VARCHARY y BLOB respectivamente, aunque también intenté cambiarlos.
Luego ejecute el siguiente comando en la línea de comando del sistema operativo para exportar la base de datos original (donde {dbname} se reemplaza con el nombre de la base de datos y {path1} se reemplaza con la ruta temporal existente, donde se almacenan los datos exportados). se almacenará):
mysqldump-opt-comments=0-n-t-fields-terminate-by=,-fields-escaped-by=\{dbname}-u root-p-tab={ruta 1}
El usuario raíz en el comando anterior también puede ser reemplazado por otros usuarios, siempre que tenga permisos de volcado. Utilice una herramienta de transcodificación, como ConvertZ, para convertir todos los archivos en la {ruta1} anterior a codificación UTF-8. Preste atención a desactivar la opción BOM. Supongamos que el archivo transcodificado se guarda en la ruta {ruta2}.
Use un usuario con permiso LOAD DATA para conectarse al servidor MySQL, use el comando use para seleccionar la base de datos recién creada y luego ejecute el siguiente comando para cada tabla {table_name}:
Cargue los datos en el archivo "{path2}{table_name}. "txt" se convierte en un campo de tabla {table_name}, termina en "," y se escapa con "\";
Sugerencia : Cuando hay muchas tablas, puede escribir un pequeño programa para generar un script SQL.
Puede aparecer una advertencia al ejecutar el comando anterior. Tenga en cuenta estas líneas de advertencia. Es posible que algunos datos no se conviertan correctamente, como los campos desalineados.
Según la experiencia, esta situación se debe principalmente a que el código hexadecimal 16 del último byte de los datos es mayor que 7F. Por lo general, el número de estas líneas es relativamente pequeño y se pueden corregir manualmente.
En este punto, se completa la transcodificación de la base de datos. La limpieza de la base de datos original y los archivos temporales durante el proceso de transcodificación no se describirá en detalle aquí.
Transcodificación de páginas web: también puede utilizar una herramienta de transcodificación para convertir todas las páginas web del sitio web a codificación UTF-8.
Luego abra el archivo de página web/archivo de plantilla de página web que contiene el archivo de encabezado y reemplace esta línea:
con:
Según mi experiencia, si usa css La hoja de estilo se usa para controlar el estilo de la página web y la fuente se establece en la etiqueta del cuerpo de Css. Luego, bajo la codificación gb2312 original, la configuración de fuente se puede heredar al área de entrada y de texto, pero. después de convertir a utf-8, es necesario configurarlo en las etiquetas de entrada y de área de texto. Restablecer la fuente en .