|
|
Atención: 21 al 25 de mayo, Curso Global de Servidores con CentOS 6.
Atención: 23 al 27 de abril, Curso SUSE Linux Enterprise Desktop Administration. Atención: 21 y 28 de abril, 5 y 12 de mayo, Taller de programación de Python. Atención: Disponible ALDOS 1.4.3. Nuestro sistema operativo para escritorio. Lidiando con UTF-8 y bases de datos en MySQL™.Lidiando con UTF-8 y bases de datos en MySQL™.Autor: Joel Barrios DueñasCorreo electrónico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.org Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
Introducción.¿Qué es UTF-8?UTF-8 es un método de codificación de ASCII para Unicode (ISO-10646), el Conjunto de Caracteres Universal o UCS. Éste codifica la mayoría de los sistemas de escritura del mundo en un solo conjunto de caracteres, permitiendo la mezcla de lenguajes y guiones en un mismo documento sin la necesidad de ajustes para realizar los cambios de conjuntos de caracteres. ¿Cómo afecta la adopción de UTF-8?Cualquier sitio de red que haga uso de bases de datos suele toparse con problemas cuando se trata de lidiar con el tipo de codificación (UTF-8, ISO-8859-1, etc.), puesto que en algunos casos, por citar un ejemplo, los caracteres latinos se muestran incorrectamente por el cambio de codificación. Actualmente se está adoptando UTF-8 como codificación para todo, sin embargo aún hay mucho material codificado en, por ejemplo, ISO-8859-1, e incluso en algunos casos codificado de manera poco apropiada para los latinos (KOI8-R alias cirílico). Uno de los casos que podemos citar es PHP Nuke. Si se descarga el código fuente de cualquier versión de PHP Nuke y se examina el tipo de codificación, encontraremos que casi todos los archivo PHP y el molde de la base de datos inicial, Procedimientos.La primera recomendación a quien vaya a implementar un sitio con PHP Nuke, al igual que cualquier otro tipo de software similar, sería tomar nuke.sql y convertirlo a UTF-8, o cualquier otra codificació según el caso y conveniencia. Para términos generales, puede utilizarse Bluefish para realizar este cambio de codificación, aunque quienes prefieran una consola podrán utilizar Vi para realizar esta tarea:
Recomendamos utilizar Vi debido a que éste no solo codificará el archivo, a diferencia de Bluefish y Tomar esta precaución asegurará que los datos que se almacenen en UTF-8 en la base de datos. Sin embargo… ¿Que se puede hacer cuando se tiene una gran base de datos en producción? Puede seguirse el siguiente procedimiento: Se empieza obteniendo un respaldo de la base de datos actual:
→ Como precacución, archive este resplado en un lugar seguro por si acaso sale algo mal. Utilizar vi para codificar en UTF y caracteres, de modo que no se pierda un solo carcater:
Lo anterior hace que vi abra Si se tienen varios archivos *.sql, aún si es tentador a fin de ahorrar trabajo, no es conveniente ejecutar
Una vez codificado todo es conveniente crear una una nueva base de datos que denominaremos «temporal» para realizar pruebas y verificar que el método ha dado resultado:
Utilizaremos
Una vez hecho lo anterior, realice pruebas y verifique que los caracteres latinos contenidos entre los datos que aparecen la base de datos realmente se visualizan correctamente. Si está conforme y considera que todo está correcto, a su discreción, proceda a reemplazar la base de datos, previo respaldo por mera precaución.
|
Comentarios Recientes