Hace un tiempo dije que iba a hablar sobre el problema que tuve con wordpress y su base de datos, asi que empecemos por el principio:
Tras instalar wordpress en mi cuenta de awardspace, todo funcioni bastante bien hasta el dia en que aparecieron comentarios de spam en el blog. El problema no seria de mayor importancia de no ser por que awardspace CENSURA PALABRAS. ¿Que es lo que censura? Pues palabras que suelen estar muy presentes en mensajes de spam o que son usadas en el ambito de la pirateria, y cuando el servidor se encuentra con una pagina que contiene alguna de estas palabras en vez de mostrarla da un error y te redirige a la pagina principal de awardspace. En esta situacion, cada vez que un comentario de spam se colaba en mi blog, el servidor no cargaba las paginas y no se podia entrar. Para solucionar esto, tuve que entrar en phpMyAdmin, el gestor de bases de datos que usa awardspace (y la gran mayoria de hostings) y buscar los comentarios de spam en la tabla wp_comments para borrarlos. Una vez hecho esto el problema parecia solucionado, pero la cosa se complico.
Despues de que uno de mis articulos saliera en meneame.net, vi que a la semana de haber salido no tenia ni un solo comentario en el blog, cosa que me extraño un huevo, porque es casi imposible que nadie comentase nada, asi que entre en el panel de administracion de wordpress y vi que tenia comentarios pendientes de moderacion. Me parecio extrañisimo que estuvieran pendientes de moderacion, porque no le habia indicado a wordpress que filtrase los comentarios, asi que fui a la pestaña de configuracion de las opciones de los comentarios para ver si estaba bien configurado pero… ¡No me cargaba la pagina y me redirigia a la pagina principal de awardspace! En un principio pense que podia ser un caso de censura como me habia pasado con los comentarios de spam, pero lo descarte porque en esa pagina de opciones no habia en principio ninguna palabra censurable por awardspace.
Sin saber que era lo que fallaba hice copia de la base de datos, borre por completo la base de datos instalada en el servidor y restaure la copia de seguridad. Entonces lejos de arreglarse el problema me surgio otro peor: las ñ y las vocales acentuadas habian sido cambiadas por interrogantes. Legados a este punto borre la base de datos y la instalacion de wordpress y volvi a empezar desde cero. Aun asi seguia teniendo el mismo problema con la pagina se las opciones de los comentarios
Tras mucho buscar, encontre la solucion a lo de los comentarios: resulta que una de las palabras que censura awardspace es «p r o x y» (notese que tengo que escribirla con espacios porque sino la censura) y cuando una pagina contiene es u otras palabars que censura, no se muestra la pagina y te redirige a la pagina principal de awardspace. El caso es que el archivo wp-comments.php contenia la palabra «p r o x y», en concreto contenia «open_p:r:o:x:y_check», (sin los : que los pongo pa k no me censure la palabra) asi que cambie esto por «opcheck» en todos los sitios donde salia dentro del archivo. Problema solucionado.
Pero ahora tenia que solucionar tambien el problema de las interrogantes en los post. En la mayoria de las instalaciones de MySQL de los hostings el juego de caracteres por defecto es «latin1» y el cotejamiento en concreto es «latin1_swedish», cuando lo mas correcto es k fuese «utf8_general_ci» que es un cotejamiento que vale para todos los idiomas. El caso es que llegue a la conclusion de que habia que cambiar el juego de caracteres de la base de datos y los contejamientos para que usasen utf8. Buscando por la web encontre unas consultas SQL que hacian esto, y que dejo por aqui
ALTER table wp_categories CONVERT TO CHARACTER SET utf8;
ALTER table wp_comments CONVERT TO CHARACTER SET utf8;
ALTER table wp_linkcategories CONVERT TO CHARACTER SET utf8;
ALTER table wp_links CONVERT TO CHARACTER SET utf8;
ALTER table wp_options CONVERT TO CHARACTER SET utf8;
ALTER table wp_post2cat CONVERT TO CHARACTER SET utf8;
ALTER table wp_postmeta CONVERT TO CHARACTER SET utf8;
ALTER table wp_posts CONVERT TO CHARACTER SET utf8;
ALTER table wp_usermeta CONVERT TO CHARACTER SET utf8;
ALTER table wp_users CONVERT TO CHARACTER SET utf8;
Y con esto tenemos la base de datos lista para usar utf8, lo malo es quue no convierte los post ya escritos a utf8 y por tanto seguiran saliendo caracteres extraños. La ventaja que tiene esto es que los posts nuevo que hagamos si que se veran bien y nos daran menos problemas en el futuro.
Pero seguia teniendo el mismo problema, y por muchos sitios en los que buscaba nunca me daban respuesta a la pregunta de ¿Como cojones convierto un texto en codificacion latin1 a uno en codificacion utf8? Pues esto ultimo tuve que currarmelo yo solo y a base de experimentacion consegui la solucion
OJO QUE ESTA SOLUCION NO SALE EN OTROS BLOGS NI OTRAS PAGINAS:
La situcion es la siguiente: Tenemos una base de datos que usa UTF8 como juego de caracteres y tenemos parte de los posts de la base de datos (los mas recientes) codificados en UTF8 y otra parte (los mas antiguos) codificados en latin1. Lo primero k tenemos que hacer es acceder al gestor de nuestra base de datos (phpMyAdmin seguramente sera el que tengamos) y en la columna de la izquierda pulsamos sobre la tabla «wp_posts» de la base de datos. Luego pulsamos sobre «Examinar» y luego desplegamos la lista de donde pone «Organizar segun clave», seleccionamos «PRIMARY (Descendente)» y pulsamos sobre «Continuar»
Lo siguiente es buscar uno de los post que queremos corregir porque se se ven mal en el blog. AQUI HAY QUE TENER CUIDADO porque dependiendo de como este configurado el servidor donde tengais la base de datos, PUEDE QUE LOS POST QUE EN LA PAGINA SE VEN BIEN EN PHPMYADMIN SE VEAN MAL Y VICEVERSA. Una vez k tengamos localizado el post k keremos corregir pulsamos sobre el boton del lapiz para editar el post
Ahora ya podemos editar este post a nuestro gusto. Lo primero sera ir al menu «Ver» de Firefox, seleccionar «Codificacion de caracteres» y cambiar la opcion «UTF-8» que deberia estar marcada por «ISO-8859-1». Veremos entonces que la pagina se recarga y que los caracteres acentuados se ven de manera distinta. Entonces en ese momento copiamos todo el contenido del campo «post_content» y luego vamos otra vez al menu «Ver» y volvemos a marcar «UTF-8» como codificacion a usar. Cuando se recargue la pagina borramos todo el contenido del campo «post_content» y pegamos el texto que habiamos copiado antes. Luego pulsamos sobre el boton «Continuar» de abajo y listo. Dependiendo de si el titulo del post que estas corrigiendo se ve mal o no puede ser necesario que hagas lo mismo para el campo «post_title».
Bueno esta es la solucion que encontre. Aunque es algo tediosa, porque tienes que ir modificando los post uno a uno, es mejor que tener que reescribirlos todos desde la interfaz de wordpress y ademas te deja la base de datos bastante limpia.
7 respuestas a “Usando WordPress en Awardspace”
Excelente explicación. Yo tuve el mismo problema con la pestaña de configuración de los comentarios, pero reemplacé la palabra innombrable en el codigo de wordpress por prox_y, al igual que en la tabla de opciones de la base de datos. Ahora tengo problemas de ejecución de script (error 500), que para colmo son aleatorios. Seguiré investigando!
Y como le haces para lidiar con el Spam ¿usas askimet?
Yo intente usarlo pero el servidor de awardspace no me deja. ¿Alguna sugerencia?
Ahora mismo para el spam uso Spam Karma 2, pero lo empece a usar despues de cambiar de server, asi que no se si funcionara en awardspace
proxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxyproxy
proxy no sapa na»!
He instalado WordPress 2.3.2 en Awardspace y me sale un error que nunca habia visto, espero que alguien sepa de que va.No me sale la pantalla de installacion, el tipico wp-install, si no que me da este error siempre. «»a Warning: Cannot modify header information – headers already sent by (output started at /home/www/digitall20.awardspace.com/wp-config.php:1) in /home/www/digitall20.awardspace.com/wp-includes/pluggable.php on line 390″» .Las configuraciones de la base de datos esta bien, el ftp ha funcionado bien y ya no se de que puede ser… muchas gracias
Pues la verdad es que no se de que puede ser, pero ya que estamos te puedo recomendar un buen hosting gratuito que funciona mucho mejor que awardspace, es http://www.heliohost.org pruebalo a ver que tal te va