Convertir base de datos y plantillas de wordpress a utf-8 con ayuda de iconv
Aprovechando que tenía que actualizar algunos blogs a Wordpress 1.5 hice un ronda de convertir sus codificaciones de caracteres a utf-8.
Teniendo acceso SSH o al inseguro telnet, esto se hace de una manera muy rápida en cualquier distribucion linux.
Importante: Antes de nada procura hacer copia de seguridad de todo
Cambiando codificación de la base de datos:
Por ejemplo, si tus datos de la conexión mysql son estos:
- usuario: fulanito
- nombre de la base de datos: blogdb
Y quieres cambiar de iso-8859-15 a utf-8
mysqldump -u fulanito -p –add-drop-table blogdb > blogdb.sql
iconv -f iso-8859-1 -t utf-8 blogdb.sql > blogdb-utf8.sql
Con lo que nos resulta un archivo blogdb-utf8.sql convertido a la nueva codificación.
Si al hacer el iconv, lees algo como:
iconv: illegal input sequence at position 163388
Esto es porque hay alguna letra que no está codificada correctamente en el archivo original. Para arreglar este problema que me surgió transcodificando un archivo .sql con codificación en BIG-5 de Keane lo resolví viendo hasta que punto había codificado el archivo y luego yendo al original para corregirlo. Suele ser habitual el problema en trackbacks que cada cual usa la codificación que le da la gana, pero en este caso el problema era en los contenidos del dashboard.
Para reemplazar la base de datos por la que hemos convertido es tan sencillo como:
mysql -u fulanito -p blogdb < blogdb-utf8.sql
Cambiando la codificación de las plantillas
Pues un tanto de lo mismo:
iconv -f iso-8859-1 -t utf-8 index.php > index-utf8.php
y así con cualquier archivo al que le quieras cambiar la codificación
Si no tienes acceso SSH al servidor
En este caso puedes obtener un volcado de la base de datos mysql con phpmyadmin y usar el iconv en tu máquina linux.
También es posible implementar la conversión de caracteres a través de un script php ya que php soporta las funciones de iconv

15/6/2005 - 2:00 pm
[...] ertirlos todos del iso-8859-1 a este nuevo, una diferente a la de usar iconv (0 clicks), dado que no tengo a [...]
4/4/2006 - 6:09 pm
Pues yo he tenido problemas. Estoy tratando de mudarme a utf8 y yahe modificado el apache y php, además mi conexion a mysql la paso a utf8 en ejecucion.
Tengo una BD que respalde y que originalmente esta en latin1_swedish_ci con algunos datos en spanish_ci, segun yo ya le habia corrido el iconv y habia puesto todo dentro de mi respaldo (las declaraciones de campos ,tablas y bd) en utf8, con esto el respaldo me lo guarda bien y todos los caracteres se ven de manera correcta.
El problema es que cuando quiero hacer busquedas o mostrar datos sobre el navegador, las Ñ y acentos no son buscadas ni encontradas de manera correcta,¿porque será?
En cambio, si monto el respaldo tal y cual está, las Ñ y acentos se guardan con caracteres extraños, pero a la hora de mostrarlos sobre el navegador o hacer busquedas, si son encontrados.
Extraño caso…
21/12/2006 - 8:06 pm
Yo modificado el fichero .sql para cambiar latin1 por utf8 en líneas tales como:
ENGINE=MyISAM DEFAULT CHARSET=latin1;
Después he importado el .sql y he tenido que cambiar manualmente las entradas que había generado en utf8 hasta que descubrí el problema…
Un saludo y gracias por la guía
Omar
26/2/2007 - 11:29 pm
[...] Supongo que notaréis rápido que algunas cosas no funcionan - como los Archivos y el Acerca de, por ejemplo - pero son cosillas que iré corrigiendo estos días. Lo importante era meter el nuevo tema, del que he estado con lo de siempre: traduciendo términos, cambiando las imágenes de la cabecera (¡pipi!) y convirtiendo los ficheros php de la plantilla a UTF-8 porque si no, no salen los caracteres en castellano como tildes y eñes. Menos mal que un buen día me encontré con este tuto de Coffelius (bendito iconv, el comando milagroso si tenéis acceso por ssh a vuestra cuenta en el servidor). Además de eso he incrementado la anchura a 880px (desde los 770px originales, me gustan las imágenes y los textos más grandecitos), así que he aquí el resultado de una tarde liadete con esto de los temas. Dentro de nada me veis creando el mío propio de cero [...]
18/8/2007 - 2:11 am
x