Una solucion formal al problema con WordPress 2.2 y UTF-8
En otro de mis tan productivos sábados de los cuales ya parecen costumbre (que racha llevo XD…) de hacer algo -lo que sea- me dio por abordar el famoso problema de las codificaciones o mejor dicho juegos de caracteres que se ha tenido con el reciente lanzamiento (ya ni tanto) de WordPress 2.2 y que se ha hablado muchísimo en diferentes blogs.
Cada blog, cada usuario, en fin cada quien propone una solución diferente al problema e incluso el Codex (la carta magna sobre WordPress) ofrece también una y no es para mal, ya que desde que en WordPress 2.2 se puso por defecto que las codificaciones o juegos de caracteres vengan en UTF-8 a levantado un poco de desanimo y problemas sobre todo en aquellos -como su servidor- que venimos desde versiones donde Latin1 era el defecto.
Pues bueno en fin este sábado que paso me propuse al fin pasar toda mi base de datos que estaba en Latin1 hacia la famosa UTF-8, el resultado se dio pero tarde cercano a 2 horas para realizar, me seguí la guia o el borrador que el codex nos proporciona junto con uno que otro truco en mano recién sacado de la Sintaxis de ALTER en la documentacion oficial de MySQL para evitar uno que otro molesto paso repetitivo.
Al poco rato de terminar y de tener este blog (si este mismo) y otros mas que mantengo en local (para cuestiones de pruebas de betas, alfas, rc’s, etc…) se me ocurrió la idea de que puedo volver toda esa labor automatizada y asi como fue que termine por hacer lo que bautice con el nombre de…
Este plugin para WordPress 2.2.x (y también para 2.1.x) se encarga de realizar toda esa labor fea -y muy repetitiva- todo de manera transparente al usuario, solo basta 1-click para tener tu base de datos perfectamente convertida.
Asi que otro sábado “productivo” mas y creo que terminare haciendo el sueño guajiro del michoacano y sus captchas solo para matemáticos en versión para WordPress XDDD
Estoy seguro que si diste click en leer mas es por que esperabas para comentar/preguntar:
Y cual es ese truco que nos ahorra trabajo?
Y seria injusto que no les conteste…
Pues es muy simple si sigues el borrador del codex en el te dice que pases 1×1 por cada campo de las tablas y lo conviertas a BLOB/Binario una tarea por de mas repetitiva y en muchos casos trabada (sobre todo con los valores index etc..), ahora el chiste consiste en convertir directamente toda la tabla a binary:
“ALTER TABLE nombre_tabla CONVERT TO CHARACTER SET binary”
Esto convertiría toda la tabla de la base de datos a binario y de paso los campos de tipo texto los convertiría a sus representaciones o equivalencias binarias esto quiere decir que nos hemos ahorrado por lo menos unas 10 a 15 sentencias de mas y ni al caso que decir que todo el problema de ciertos campos.
















Escrito por: Masiosare
7 de Junio del 2007 a las 8:37 am
Buen aporte! Pero ese ingles, hermano, ese ingles….
Escrito por: g30rg3_x
7 de Junio del 2007 a las 8:53 am
jajaja, se u_u
Escrito por: Ninio romantico (mi nick xD )
10 de Junio del 2007 a las 5:55 pm
Sos groso!
Sabelo! xD
Escrito por: Ninio romantico (mi nick xD )
10 de Junio del 2007 a las 7:11 pm
Ya q sos gros se me vino una pregunta a la mente…
Hace un tiempo habia leido un problema q se podia presentar a la hora de restaurar la base de datos del blog, y era q los caracteres especiales como acentos y eñes podian tener problemas…
sabes algo d eso?
se corrige pasando a uTf ?
Saludos!
Escrito por: g30rg3_x
10 de Junio del 2007 a las 8:39 pm
jajajajaja no soy un groso ¬¬, dejemoslo en un vago que los sábados algo hace productivo; aunque este sábado realmente si tuve algo que hacer y no hice nada pero creo que la venida del verano promueve mayor tiempo libre, osea mas proyectos de este y otros tipos.
Lo de la restauración, si te fijas realmente el problema era que importabas latin1 a veces en una base de datos declarada con UTF8 (depende mucho del hosting y/o como este configurado mysql) importabas la que venia en latin1 y pues al importar estos datos te afectaba como dices los caracteres con acentos y las eñes transformandolos en basura, en si es claro que usar UTF-8 un juego de caracteres mas hasta cierto punto promovido y bastante aceptado como configuracion por defecto mitagaria todos esos errores de datos perdidos por importacion.
Saludos
Escrito por: Ninio romantico (mi nick xD )
11 de Junio del 2007 a las 2:24 pm
Muchas gracias por hacerme terminar d entender eso xD
Te copas y me mandas el script para hacer esto:
16 Querys en 0.267 segundos.
Gracias!
Escrito por: g30rg3_x
11 de Junio del 2007 a las 4:35 pm
No son scripts sino funciones miscelaneas que WordPress incluye, algunos temas lo incluyen pero esta comentado y solo se puede ver viendo el codigo fuente, yo nada mas lo puse a la vista.
Te mando la info hacia tu correo..
Saludos
Escrito por: Saborapie
28 de Junio del 2007 a las 10:55 am
Ayuda por dios!!!. Hice todo lo que aca se indica (usa ndo el UTF-8 Database Converter y tal), mas lo leido por los enlaces que se incluyen en este mismo articulo y se me ha jodido todo.
Ahora mi web se ve asi: http://www.theweirdworldof.com
Desde el principio mi web estaba en ISO-8859-1 y queria pasarla totalmente a UTF-8 para evitar problemas futuros… pero el problema me ha venido al presente.
Escrito por: g30rg3_x
28 de Junio del 2007 a las 12:35 pm
Te contacto por correo para darle un seguimiento y trata de solucionar el problema…
Saludos
Escrito por: Javier Lorente
17 de Julio del 2007 a las 6:09 pm
Hola!
Tenía un wordpress 2.1.2 en powweb.com, lo he actualizado a la 2.2.1 (sobre escribir archivos y actualizar)
He borrado del wp-config.php las directivas del UTF, subo el plugin, lo activo, hago click. Hago click en “Final Step” pero se me queda totalmente parado, no hace nada. Lo he intentado varias veces… ¿Qué puede pasar?
Un saludo
Escrito por: Javier Lorente
17 de Julio del 2007 a las 6:13 pm
Hola de nuevo
Al parecer creo que ya he solucionado el error, la base de datos ya estaba en utf8_general_ci
¿El plugin no devuelve mensaje alguno de que ya se ha realizado el cambio?
También se debería avisar de que se cambia la codificación de toda la base de datos, no sólo de las tablas que afectan a wordpress.
Un saludo
Escrito por: g30rg3_x
17 de Julio del 2007 a las 7:30 pm
El plugin SI cuenta con un mensaje de satisfacción cuando se termina el proceso por consecuente no te sabría decir con exactitud que esta pasando ya que depende mucho (también) de como este configurado tu hosting, solo puedo especular que en algún momento se pasa el tiempo máximo de ejecución de un script en php o sucede algún error interno relacionado como dije a tu hosting.
Mi plugin tiene la capacidad de adaptarse a diferentes necesidades, a diferentes ambientes etc, que suelen suceder durante el proceso de conversión, ya que existen algunos plugins y mods/hacks que suelen cambiar la base de datos de WordPress de manera entera agregando nuevas tablas y campos a otras, con lo cual se me hace muy difícil -por mi parte o por la parte automática- tratar de implementar una solución que te satisfaga a tu necesidad (si se puede pero ten encuenta que esto se hace de manera altruista y sin esperar recompensa, así que solo uso mi tiempo libre para mejorar el mismo), ya que normalmente nadie usa la misma base de datos de WordPress para otras cosas fuera de las tablas relacionadas a wordpress (de hecho por razones de seguridad no se recomiendo mezclar tablas de diferentes proyectos en una sola base de datos) en caso de que hagas esto por mi parte podría pensar que tienes el conocimiento mismo para realizar la labor de manera manual y no necesitar de un script automático ya que la mayoría hará la conversión o generara lo necesario para convertir una base de datos entera seleccionada.
Y no te recomiendo haber borrado del wp-config.php las directivas relacionadas al charset y collation (al menos no charset) ya que así mysql tomaría la conexión como algún tipo por defecto como latin1 y aunque tu base de datos este en UTF-8 a la hora de leer la información se convertirá a latin1 y obtendrás un caso fallido y muchos datos perdidos…
Saludos
PD: Si necesitas un ayuda mayor a que escribir un comentario puedes contactarme a mi correo atravez de la sección contacto
Escrito por: muad_did
5 de Febrero del 2008 a las 6:00 am
… te quiero. no te conozco pero ya tienes mi devoción. Dos días llevo peleandome para mudar mi Web al nuevo hosting, con el maldito problema de la codificación, a punto de mandarlo al carajo despues de la quinta carga de las Sql modificadas a la BSD cuando encontre tu plugin, en 3 minutos lo tenía todo solucionado. GRACIAS! me has permitido conservar casi 3 años de post y mas de 4000 comentarios. [imaginate el tamaño de mi BSD]
Escrito por: nicolas
11 de Marzo del 2008 a las 11:12 am
que tal, estuve leyendo yo tengo un GRAN PROBLEMA CON MI WP, resulta que tengo una tabla mysql fuera de wp, y la levanto mediante un include en el side bar, pero esta me sale con caracteres extraños, es raro porque lo que tengo escrito en el include mediante html sale bien osea los acentos, y lo que levanta de la tabla mysql que por cierto quise cambiar de latin1 a uth-8 spanish mediante el phpmyadmin pero no medejó, SALE TODO CON CARACTERES RAROS LO QUE LEVANTA DEL MYSQL
NOSE CUAL SEA EL PROBLEMA SI EL APACHE, EL WPRESS, EL LATIN DE LAS TABLAS NOSE QUE PUTA CARAJO QUE LO PARIO ALGUIEN ME PUEDE DAR UNA MANO
Escrito por: Benny
24 de Abril del 2008 a las 2:11 pm
Hola. Pero si como no vi esto antes!! Oye y ¿Será que este Plugin funcione con Wordpress 2.5? Saludos.
PingBack de: Solusan» Blog Archive » Convertir base de datos WordPress a UTF8
17 de Junio del 2007 a las 3:45 am
PingBack de: Plugin Wordpress: UTF-8 Database Converter | La WeB de DragoN
1 de Julio del 2007 a las 9:11 pm
PingBack de: pedels, desde la amígdala » Renovación de tema y conversión de codificación a UTF-8 al actualizar a Wordpress 2.2.2
9 de Agosto del 2007 a las 8:16 am
PingBack de: DaHouseCat’s Blog » Archive » Una solucion formal al problema con WordPress 2.2 y UTF-8
24 de Agosto del 2007 a las 6:50 pm
PingBack de: Octaedro » Una soluci
15 de Noviembre del 2007 a las 4:28 pm