Jump to content

Recommended Posts

Buenas compañeros, tengo un problema con prestashop que no se como solucionar:

 

Había iniciado un proyecto y lo estuve probando en un servidor compartido y economico, todo funciona muy bien hasta que llego el momento de migrar todo a un server dedicado que adquirí. Tuve que configurar apache, el php.ini, el APC y todos los líos del servidor hasta que mi web se veía y funcionaba perfectamente con lo que ya había en la base de datos.

 

Cuando creí que todo estaba hecho, se me ocurre modificar un texto de un módulo que se muestra en la portada, obviamente desde el backoffice, me aparecía el mensaje de que los cambios se habian guardado, pero al actualizar la pagina veo que el texto estaba a medias, regrese al backoffice a verificar y no habia grabado todo el texto, sólo una parte, concretamente hasta la aparición de una letra con tilde. Probe varias veces y era lo mismo, fui a un producto a probar abrirlo y guardarlo y me aparecen errores que desconozco la causa.

 

Debe ser un error de Base de datos y MySQL, ya que es lo único que no he tocado del servidor dado que por más que he buscado no he encontrado recomendaciones ni que alguien diga que hay que configurar el MySQL de cierta forma para prestashop. La verdad espero que alguien me pueda ayudar ya que ahora si no se ni por donde atacar el problema.

Link to comment
Share on other sites

Parece que pude ser algun problema de cotejamiento de la Base de Datos.

 

¿tienes como utf8_general_ci?

Hola, pues sí todas las tablas estan en utf8_general_ci y la bd en utf8_unicode_ci, simplemente la exporte del servidor anterior y la importe en el nuevo.

Link to comment
Share on other sites

Me he pasado 6 horas de corrido, tocando el my.cnf para forzar todo en utf8, el php.ini para lo mismo y nada.

Lo que si he probado es lo siguiente:

 

- En el backoffice, yo escribo "fácil" y cuando guardo sólo guardo "f";

- Si lo intento directamente desde el phpMyAdmin se graba sin problemas.

 

Para asegurarme luego de mover los archivos antes mencionados, elimine la base de datos, la volvi a crear y la volvi a importar para asegurarme, pero tampoco funciono. Aclaro que esta misma BD la he importado en otro server compartido y funciona de maravilla. Seguro que es algo que no sé o no he tocado en este servidor dedicado, la verdad ya no se me ocurre que puede ser. 

 

PD: intenté grabar un producto sin tildes en la descripción ni en el título ni nada y funciona. Espero no tener que resignarme a mostrar una web con faltas ortográficas.

Link to comment
Share on other sites

Pues creo que he identificado el problema, ya configure todo en el servidor dedicado, desde Apache, PHP y mysql en sus respectivos archivos y todo esta en utf8. El problema es que cuando voy a las variables de Mysql en el PhpMyAdmin me salen todos los valores con utf8, pero debajo de ellos un campo "Valor de sesión" con utf8mb4.

Probe cambiado la bd, tablas y campos a ese charset y ahora si graba las tildes pero como "????", lo cual tampoco me sirve, probando esto es obvio que el problema es la incompatibilidad de PHP con utf8mb4, el problema es que por mas que yo desde my.cnf ordeno que todo se haga en utf8, mysql lo hace en utf8mb4. Si alquien sabe como corregir esto, que por favor me eche una mano.

Link to comment
Share on other sites

Al final casi por arte de magia he dado con la solución, resulta que me faltaba configurar el mbstring en el php.ini.

Tan sencillo con poner todo a UTF-8:

 

mbstring.http_input UTF-8
mbstring.http_output UTF-8
mbstring.internal_encoding UTF-8
mbstring.language Neutral
mbstring.substitute_character none

 

Y listo espero ahora que no me falte nada, según yo ahora si todo funciona.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...