UTF-8

UTF-8

de Chema Martínez -
Número de respuestas: 15
Hola a todos, 

Acabo de instalar la versión 4.3.2 de Moodle en mi servidor, y al intentar instalar el plugin Correo (local_mail) Moodle me da el siguiente error:

Es necesario que almacene todos sus datos en formato Unicode (UTF-8). Las instalaciones nuevas deberían ejecutarse en bases de datos cuyo juego de caracteres por defecto fuera Unicode. Si está realizando una actualización, debería llevar a cabo el proceso de migración UTF-8 (vea al respecto la página de Administración).


¿Alguien sabe a qué se puede deber esto? ¿Cómo puedo solucionarlo? ¿Es un problema de Moodle o de mi servidor?

Muchas gracias a todos de antemano, y un saludo.
Promedio de valoraciones: -
En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Hola Chema.
Moodle requiere que la base de datos use el conjunto de caracteres utf8mb4 y el cotejamiento (collation) utf8mb4_unicode_ci.
¿Tienes acceso a la línea de comandos del servidor, ssh? Si es así, hay un script en la ruta moodlecode/admin/cli/ que permite comprobar y cambiar estos valores para la base de datos que usa moodle.
Otra cosa, ¿el plugin al que te refieres es éste?
Saludos.
En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Hola Juan Antonio.
Gracias por tu respuesta. El plugin al que me refiero es este: https://moodle.org/plugins/local_mail.
No, no tengo acceso al servidor. ¿Existe otra manera de arreglar el problema o debería hablar con mi hosting?
Un saludo.
En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Hola.
Podrás hacerlo también desde el PHPMyAdmin que tendrás en el CPanel. Aquí, por ejemplo, te explica como hacerlo.
Saludos.
En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Hola Juan Antonio,
Gracias de nuevo. He hecho lo que me has dicho. Adjunto la captura:

A pesar de esto, me sigue dando el error:


(este segundo error no es crítico puesto que no sale en rojo, pero lo adjunto por si da algún tipo de información que pueda ser de ayuda)

¿Puede deberse a que haya hecho algo mal? Solamente he cambiado lo que ves en la fotografía primera en la parte de abajo, donde pone cotejamiento. ¿O puede deberse a que deben pasar horas hasta que los cambios surjan efecto?
Un saludo.
En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Hola de nuevo.
En la captura que adjuntas, fíjate en la casilla que dice "Modificar el cotejamiento de todas las tablas". Actívala y luego haz clic en Continuar en el botón que está a la derecha.
En cuanto al primer error, puede ser debido a que falta algún módulo de php para soporte Unicode. Prueba lo primero y luego seguimos indagando.
Saludos.
En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Hola, ya está hecho y  el error continua triste
En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Dirígete a "Administración del sitio->Servidor->Información PHP" y busca ahí algo como la captura de pantalla que te subo.


Además, sube una captura completa  de "Administración del sitio->Servidor->Entorno" como esta que te enseño:


En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Hola Juan Antonio,
De verdad, mil gracias por la ayuda que me estás dando. 
Te adjunto lo que me indicas:

La otra captura la adjunto como un archivo para que se vea todo completo. Como en el pdf no se ven muy bien los colores, te indico que el primer revisar (unicode) está en rojo, el segundo (php_setting) en amarillo y el último (mysql_full_unicode_support) en amarillo.
De nuevo, GRACIAS.
En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Hola Chema.
Vaya! Se resiste. Creo que los valores por defecto para las nuevas bases de datos no están ajustados a utf8mb4 y utf8mb4_general_ci. Vamos a insistir.
Vuelve a PHPMyAdmin, a la misma pestaña que antes (la que se ve en tu captura). En la parte inferior verás un icono que dice "Consola". Haz clic ahí y se abrirá un pequeño espacio para ejecutar consultas. Escribe ahí justo lo que ves en la siguiente captura:


Cuando lo tengas escrito, pulsa Ctrl + Enter, tal como dice, y se ejecutará la consulta. Entonces en la ventana verás algo como lo que sigue:


Ahora fíjate en la línea que contiene moodle, o como le hayas tú llamado a la base de datos que creaste para moodle. ¿Contiene los mismos valores que en mi caso para "DEFAUL_CHARACTER_SET_NAME y DEFAULT_COLLATION_NAME? Es decir, utfmb4 y utf8mb4_general_ci

En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Hola buenos días, 
Efectivamente, no me sale igual. Es distinto el default_collocation_name:

En lugar de general_ci, me sale unicode_ci.
En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Hola.
No es suficiente diferencia para justificar el mensaje de error que te aparece durante la instalación. Lo importante es el DEFAUL_CHARACTER_SET_NAME. De hecho, el valor recomendado para collation es el que tu tienes.
Comprueba con el administrador de ficheros que tengas en el CPanel el fichero config.php que está en la raíz del código de moodle (estará en htdocs/moodle/, o algo así). Debería tener una sección como la siguiente:


Fíjate en la línea con "dbcollation". ¿Qué valor tiene?
Ten cuidado con la imagen que subas aquí. Fíjate que ese fichero contiene también una línea con la contraseña escrita en texto claro. No nos lo enseñes, 😉
En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Hola, 
En dbcollocation me sale utf8_general_ci, y en dbsocket ' ', es decir, vacío. Lo demás me sale como a ti. 

En respuesta a Chema Martínez

Re: UTF-8

de Juan Antonio Moreno Carmona -
Imagen de Moodlers de gran ayuda
Vale.
En dbcollation, edítalo para que ponga utf8mb4_unicode_ci y guarda los cambios. Luego vuelve al proceso de instalación. Creo que funcionará.
Del valor de dbsocket, es normal que lo tengas vacío si moodle se conecta al servidor de base de datos por el puerto habitual (3306).
Saludos.
En respuesta a Juan Antonio Moreno Carmona

Re: UTF-8

de Chema Martínez -
Efectivamente, ¡¡ha funcionado!!😁

Ya se ha instalado sin problemas el plugin. He probado a instalar otros plugins que necesito y sin ningún problema.

MUCHÍSIMAS GRACIAS POR LA AYUDA!! Gracias y gracias!

Un saludo.