Resolver la falta de acentos en entradas tras una migración de servidor

Muy buenas a todos. Mi nombre es Juan, aunque en Internet la gente me conoce como GatoVolador. Llevo un par de blogs con WordPress e intento colaborar en otros tantos, pero no me da tiempo para todo. Francisco me ha invitado a participar en TodoWordpress, y empezaré contando cómo resolví un problema que tuve hace unos días mudando de servidor uno de los blogs que gestiono.

Hice el traslado siguiendo más o menos estos pasos, pero cuando en principio, tras propagarse las nuevas DNS, todo debía funcionar perfectamente, me llevé un chasco: los posts aparecían sin caracteres con acentos ni especiales (como la ñ o los ordinales º y ª). En su lugar aparecían símbolos como ~ o Â. Esto sucedía sólo en los posts y en el nombre y descripción de las categorías (aunque de esto me di cuenta más tarde).

Tras maldecir mi antiguo servidor por guardar de forma tan extraña el backup de la base de datos, mi primera reacción fue buscar en Google. Muchos sugerían dejar el parámetro DB_CHARSET del wp-config.php así, sin definir:

define('DB_CHARSET', '');

Lo probé y el problema cambió por otro: las entradas se veían correctamente pero no así los comentarios. Me sucedió algo similar cuando elegí ISO-8859-1 o Latin 1:

define('DB_CHARSET', 'iso-8859-1');
define('DB_CHARSET', 'latin1');

Tras mucho leer, me dí cuenta de que UTF-8 es el estándar “de facto” así que decidí volver a dejar el parámetro DB_CHARSET como estaba al principio…

define('DB_CHARSET', 'utf8');

…y atacar por otro lado. Me puse a ver la codificación de las tablas con phpMyAdmin. Todas estaban supuestamente guardadas en UTF-8, pero eso fallaba por algún lado. Viendo que no llegaba a ninguna parte, busqué el backup de la base de datos y dejé sólo la tabla wp_posts. Como uso Windows, guardé el .SQL en diferentes codificaciones con los editores Notepad y WordPad, sin resultado e incluso empeorando la cosa puesto que en un momento dado se duplicaron los caracteres extraños que sustituían a los latinos. Siempre que abría la base de datos con esos editores, aparecían los malditos caracteres extraños.

Finalmente, ya por desesperación, abrí el archivo SQL con Microsoft Word, que me preguntó la codificación del archivo sugiriendo que era UTF-8. Acepté y para mi sorpresa todas las vocales con acento aparecían con él y los caracteres extraños se mostraban correctamente. Copié toda la tabla wp_posts, la pegué en Wordpad y la guardé como documento de texto simple, no como documento MS-DOS ni como documento Unicode. Mi alegría fue enorme al ver que, tras subirla con el phpMyAdmin, todos los acentos se mostraban perfectamente en el blog.

Finalmente, revisando para asegurarme de que todo estuviera en su sitio, vi que las categorías adolecían del mismo fallo con acentos y caracteres especiales. Como tengo pocas categorías, edité su nombre y descripción manualmente, pero en el caso de que fueran muchas, supongo que se podría arreglar haciendo lo mismo que hice con la tabla wp_posts, pero con la wp_term_taxonomy. Esa tabla es la que contiene los datos de las categorías.

Comentarios
  1. Hola Juan y/o Gato Volador:
    Te la voy a poner de otra forma…
    Yo trasladé todo un blog de un servidor a otro… importe la base de datos, la cual me la dio con errores y nunca me dejó completar la importación, por más que le pedí a los encargados del hots que me ayudaran…
    Luego lo traté de hacer por medio de wordpress, vía archivo xlm y tampoco me hizo la importación completa… dividí el archivo y nunca me permitió subir la parte faltante… hay dos meses perdidos, enero y febrero en el blog…
    pero ese no fue el problema total… cuando en los buscadores de google comencé a checar ciertos resultados de entradas al blog me di cuenta de que me daba como resultad error… traté via Seo con Hadespace, creo se llama el plugin, y nada… he tenido que esperar a las nuevas entradas y algunos resultados anteriores han tenido respuesta positiva, pero otro sigue sin ser encontrados, pese a que los permalink están configurados de la misma forma… modifiqué el .hacceses, rechequé base de datos, en fin me tuve que resignar a perder mis dos meses de notas y a esperar que regresen los enlaces una vez cambiado los caches… por supuesto la baja en la visitas ha sido considerable, supongo porque la gente se cansa de recibir respuesta negativas…
    tendrás alguna respuesta al respecto…

    Gracias…

    Escrito el18/03/2009
  2. bueno, interesante… pero la verdad que no me ha sido posible solucionar mi problema bastante similar…. :(

    les comento estoy pasando todo a otro servidor… en el viejo server los post de wordpress se leian bien con acentos y caracteres, pero en la base de datos no, aparecian cosas raras en su lugar…

    cuando llevo todo al nuevo host el sitio me lo lee de cualquier forma… pero si subo la base de datos y lo ejecuto en mi maquina como localhost se ve bien…. porque???? no se… pero no puedo hacer que arranque y la verdad estoy desesperado… son casi 200 post.. 2 años de trabajo…

    alguna ayuda???

    Escrito el19/03/2009

DEJA TU COMENTARIO