• Hola amigos! desde hace un tiempo tengo el siguiente problema al hacer una instalación de wordpress…

    – Voy a crear la base de datos (wampserver). En la configuracion general aparece Utf8mb4_unicode_ci, lo cambio a Utf8 pero parece que no hace caso y automaticamente vuelve a Utf8mb4…

    – Siguiente paso; creo la base y elijo el cotejamiento Utf8_unicode_ci; perfecto, sin problemas…

    – Voy a realizar la instalacion de wordpress y cuando termina reviso la base de datos y las tablas que ha creado las crea con la configuracion Utf8mb4_unicode_ci… ¿por que?

    – Instalo el plugin duplicator y reviso la base para ver que ha hecho y la tabla correspondiente la ha creado con la codificacion latin1_swedish_ci

    – Bueno, voy a intentar subir la web al hosting, utilizo duplicator; hago el backup, todo bien… lo subo al servidor y hago la instalacion. Aparentemente todo va bien pero al final dice que hay una serie de errores y cuando intento acceder a la web pues me muestra los errores de codificacion…

    [url=http://subefotos.com/ver/?de14f526a677638d31861289002bd0f7o.jpg] [img]http://thumbs.subefotos.com/de14f526a677638d31861289002bd0f7o.jpg[/img][/url]

    http://subefotos.com/ver/?d0f9b8bea0b39ca49d2c64831aa83cddo.jpg

    <img src=»http://thumbs.subefotos.com/423efc4e150ef9d856facb7639be4704o.jpg» />

    Se que este error se puede solucionar cambiando la codificacion en el codigo de la bd pero ¿como soluciono este error definitivamente? ¿por que no se crean las tablas con la codificacion Utf8 automaticamente?

    He probado tambien con xampp y tengo el mismo problema…

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • Moderador erchache2000

    (@erchache2000)

    Jeje, típico fallo con mysql.

    No solo tienes que tener en común la codificación del motor de base de datos usado, InnoDB, sino también la base de datos, las tables y lo más importante, el contenido de la base de datos.

    Por lo que pones, la codificación por defecto es latin1 y el contenido está en latin1. Tendrás que cambiarlo todo a utf8…

    El contenido puede ser modificado a utf8 con notepad++ por ejemplo y con el xammp también en utf8 , salvas y vuelves a subir.

    http://dev.mysql.com/doc/refman/5.7/en/charset.html

    Iniciador del debate amalto

    (@amalto)

    wola! gracias por la info! lo que dices es que exporte la BD, le cambie la configuracion a Utf8 con notepad++ y la vuelva a importar ¿me equivoco?

    El caso es que esa solucion ya la he hecho varias veces y funciona pero cada vez que hago una web nueva me pasa lo mismo y lo que quiero es solucionarlo definitivamente, configurar el wampserver o xampp (me da igual xD) para que cuando haga una nueva web me salgan las tablas con esa configuracion…

    Aclaro que mi conocimiento sobre bases de datos es 0.1 jeje hice un curso de diseño web en el que no nos enseñaron absolutamente nada de bases de datos… 🙁

    Iniciador del debate amalto

    (@amalto)

    Por ejemplo, no se la diferencia entre InnoDB y MyIsam que ahora que lo mencionas, un amigo me dijo que lo normal era usar MyIsam… yo uso lo que sale por defecto jjeje

    Moderador erchache2000

    (@erchache2000)

    Jeje, pues ahí está la diferencia, entre InnoDB y MyISAM.

    Innodb no basta con cambiar la estructura, pues está en memoria. Tienes que hacer un dump y volver a restaurarla con los parámetros correctos, tanto en el servidor como en el dump.

    El libro Pro Mysql de APress es la biblia de mysql para mi.

    Pro MySQL By Jay Pipes , Michael Kruckenberg

    Iniciador del debate amalto

    (@amalto)

    Vale, he conseguido avanzar algo pero no lo suficiente… xD

    Siguiendo lo que he encontrado en una web:
    Añadir al fichero de MySQL «my.ini» el siguiente codigo bajo la linea de [wampmysqld]:
    default-storage-engine=MYISAM

    Haciendo esto he conseguido que cree las tablas MyISAM y todo el contenido nuevo parece que se genera con la codificacion Utf8 (bien) pero la instalacion de wordpres y las tablas referentes a ella, siguen creandose con Utf8mb4… y por lo tanto, sigo con el mismo error…

    http://subefotos.com/ver/?07343685d6d38257f0b62d9d31a26a05o.jpg

    Iniciador del debate amalto

    (@amalto)

    Entiendo que en estos links me dice que tengo que aplicar lo de set names y character_set ¿¿pero donde?? he probado en el archivo my.ini pero no ha colado.. jeje

    http://dev.mysql.com/doc/refman/5.7/en/charset.html
    http://dev.mysql.com/doc/refman/5.7/en/charset-applications.html

    Moderador erchache2000

    (@erchache2000)

    Claro, WordPress crea las bases de datos con InnoDB y UTF8.

    Una cosa es el valor por defecto que asigna my.cnf y otra la que genera WordPress o la aplicación web que uses.

    Tendrás que lidiar en convertir o reconvertir según te convenga…

    Y que no se te olvide que el contenido de las tablas tienes que convertirlas de formato también.

    Iniciador del debate amalto

    (@amalto)

    Pero hay algo que no me queda claro… las primeras dos o tres webs que hice, no me pasaba nada de esto, instalaba wampserver, creaba mi bd en utf8, instalaba wordpress y todo bien, sin problemas… ¿por que ahora todo este lio? veo tutoriales y no parece que tengan ningun problema… ¿hay algo que hago mal?

    Iniciador del debate amalto

    (@amalto)

    Vale, me voy enterando mas del tema… al parecer wordpress desde la actualizacion 4.2 utiliza el cotejamiento Utf8mb4 por eso en las primeras paginas que hice en invierno, antes de esa actualizacion no tenia problemas… y el problema al parecer viene del servidor (hosting) que las versiones de MySQL anteriores a la 5.5 no lo pilla y mi hosting tiene la version 5.1… los tres hosting gratuitos que he provado tienen esa version, por eso todos me daban ese problema… xD

    Ahora bien, puesto que la unica forma de cambiarlo parece ser con codigo pues me dispongo a ello, exporto la bd, cambio todo lo relacionado con utf8 y al importarla me sale el siguiente error…

    #1062 – Duplicata du champ ‘1’ pour la clef ‘PRIMARY’


    — Volcado de datos para la tabla wp_comments

    INSERT INTO wp_comments (comment_ID, comment_post_ID, comment_author, comment_author_email, comment_author_url, comment_author_IP, comment_date, comment_date_gmt, comment_content, comment_karma, comment_approved, comment_agent, comment_type, comment_parent, user_id) VALUES
    (1, 1, ‘Sr WordPress’, », ‘https://wordpress.org/&#8217;, », ‘2015-08-31 09:20:55’, ‘2015-08-31 09:20:55’, ‘Hola, esto es un comentario.\nPara borrar un comentario simplemente accede y revisa los comentarios de la entrada. Ahí tendrás la opción de editarlo o borrarlo.’, 0, ‘1’, », », 0, 0);

    tengo ganas de llorar… xD

    Moderador erchache2000

    (@erchache2000)

    Prueba a forzar la restauración del dump aún teniendo errores de volcado. Muchas veces rula… otras no ;(

    mysql -u userName -p -f -D dbName < script.sql

    Olvídate de phpmyadmin para hacer backups en bases de datos grandes o con conexiones de internet lentas.

Viendo 10 respuestas - de la 1 a la 10 (de un total de 10)
  • El debate ‘Problema con Utf8 – Utf8mb4’ está cerrado a nuevas respuestas.