Error al leer de la base de datos Moodle version 3.3

Error al leer de la base de datos Moodle version 3.3

de cristian canelo -
Número de respuestas: 5

Hola amigos, estoy utilizando Moodle para el colegio donde trabajo y se me presentó el problema cuando los profesores crean cuestionarios con  preguntas de selección múltiple calculada, luego de escribir las respuestas posibles y apretar guardar cambios me arroja el mensaje:

Error al leer de la base de datos

Error

Debug info: COLLATION 'utf8mb4_bin' is not valid for CHARACTER SET 'utf8'
SELECT a.*
FROM rxx7_question_dataset_definitions a, rxx7_question_datasets b
WHERE a.id = b.datasetdefinition AND a.type = '1' AND b.question = ? AND a.name COLLATE utf8mb4_bin = ?
[array (
0 => 34,
1 => 'a',
)]
Error code: dmlreadexception

luego mas abajo:

Stack trace:
  • line 486 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 1175 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1558 of /lib/dml/moodle_database.php: call to mysqli_native_moodle_database->get_records_sql()
  • line 1488 of /question/type/calculated/questiontype.php: call to moodle_database->get_record_sql()
  • line 1135 of /question/type/calculated/questiontype.php: call to qtype_calculated->dataset_options_from_database()
  • line 523 of /question/type/calculated/questiontype.php: call to qtype_calculated->dataset_options()
  • line 619 of /question/type/calculated/questiontype.php: call to qtype_calculated->preparedatasets()
  • line 264 of /question/question.php: call to qtype_calculated->save_question()


Ojalá amigos me puedan ayudar. Muchas Gracias



Promedio de valoraciones: -
En respuesta a cristian canelo

Re: Error al leer de la base de datos Moodle version 3.3

de Randy Thornton -

Hola Cristian,

Además, Moodle recomenda ahora estos ajustes de unicode en Moodle 3.3:

default-character-set = utf8mb4
collation-server = utf8mb4_unicode_ci


Más detalles están aquí: https://docs.moodle.org/all/es/MySQL_soporte_unicode_completo.

Parece que la base de datos todavía tiene el character set de utf8.  


Saludos,

Randy

En respuesta a Randy Thornton

Re: Error al leer de la base de datos Moodle version 3.3

de Jonathan Lopez -

En efecto la configuración del enlace que nos comentaste es la solución.


Muchas gracias.

En respuesta a Randy Thornton

Re: Error al leer de la base de datos Moodle version 3.3

de Andreyna Carrasco -

Saludos, 

Tengo el mismo problema con la versión de Moodle 3.1, la variable de character_set_server de MySQL es latin1. Pero yo no tengo privilegios para modificar las variables y quienes administran el servidor no harán el cambio... en ese caso ¿cuál podría ser la solución? lo único que se me ocurre como una medida un poco desesperada (y sin pensar en las posibles consecuencias) es quitar el COLLATE de las consultas SQL, por ejemplo... lo probé con la función sql_like para que me permitiera subir usuarios con un archivo csv (en esa funcionalidad es donde me percaté del error) y funcionó.

¿Es factible hacerlo de esa manera? ¿Alguna consecuencia de ese cambio? además de tener que replicarlo en caso de actualizar Moodle (que lo dudo, porque ese servidor no permite una versión más nueva).

Gracias de antemano por sus observaciones.