dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

Re: dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

par Gaël Mifsud,
Nombre de réponses : 6

On a l'impression que l'étudiant utilise tout simplement les caractères scientifiques de l'éditeur Atto.
Nous allons faire des tests avec un mac et Safari pour voir si nous parvenons à reproduire le problème.

Mais à la lumière de ton commentaire, j'ai remarqué dans mon fichier de logs que le codage des caractères semble sur 8 octets.

Or notre BDD Moodle est en utf8_general_ci, et non en utf8mb4 ! mort

La bonne question maintenant est de savoir :
- pourquoi les autres étudiants n'ont pas rencontré le problème ?
- changer l'interclassement des tables dans Moodle résoudrait-il le problème ?
- et surtout (!) changer l'interclassement est-il possible sans casser Moodle ?

En réponse à Gaël Mifsud

Re: dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

par Nicolas Martignoni,
Avatar Développeurs Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

> pourquoi les autres étudiants n'ont pas rencontré le problème ?

Chercher du côté de l'environnement personnel de l'étudiant (ordinateur, navigateur, etc.). A-t-il ajouté manuellement des caractères (voir le code source dans l'éditeur) ? Il pourrait aussi tester sur https://qa.moodle.net/ ou sur https://demo.moodle.net/ pour voir si c'est la même chose.

> changer l'interclassement des tables dans Moodle résoudrait-il le problème ?

AMHA non.

> et surtout (!) changer l'interclassement est-il possible sans casser Moodle ?

Jamais fait, mais je ne m'y risquerais qu'avec bcp de précautions (backup, restore sur un serveur de tests, tests, etc.)

Moyenne des évaluations Utile (1)
En réponse à Nicolas Martignoni

Re: dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Bonjour, ... en passant.

Gaël dit "notre BDD Moodle est en utf8_general_ci, et non en utf8mb4"

Il faut donc choisir ce nouveau mode à présent pour l'ensemble de la base Moodle ?

Daniel

En réponse à Daniel Méthot

Re: dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour Daniel,

Non ! La doc officielle parle toujours de "utf8_unicode_ci" (cf : https://docs.moodle.org/31/en/Installation_quick_guide#Create_a_database).

A bientôt,
Patrick

Moyenne des évaluations Utile (1)
En réponse à Patrick Lemaire

Re: dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

par Séverin Terrier,
Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Bonjour,

Le temps a passé, et si des gens tombent sur cette discussion après quelques recherches, il est maintenant (depuis Moodle 3.1.5, 3.2.2 puis 3.3) recommandé, dans la mesure du possible, d'utiliser ce nouvel encodage et interclassement ('utf8mb4_unicode_ci'). Sinon, pas de gros souci à continuer à utiliser "utf8_unicode_ci", hormis pour le support des emojis.

Voir la documentation sur le support complet de l'UTF-8 pour plus de détails.

Séverin

Moyenne des évaluations Utile (1)
En réponse à Nicolas Martignoni

Re: dmlwriteexception lors de l'édition d'une fiche de l'activité base de données

par Gaël Mifsud,

Alors après enquête, il s'avère que l'étudiant n'utilise pas les caractères spéciaux de Atto, mais ceux de son système.

Précisément, il a saisi l'expression rho à l'aide du registre des caractères sous Mac OS X ( avec le raccourcis ctrl + cmd + espace ).

Je  suppose que cela a inséré un caractère utf8mb4 dans l'éditeur, ce qui provoque l'erreur d'écriture dans la BDD.

Seconde supposition, la perte de connexion proviendrait de la sauvegarde automatique qu'effectue ATTO, qui doit vraisemblablement provoquer la même erreur d'écriture en BDD.

Il serait effectivement intéressant de tester sur une des plate-formes que tu indiques Nicolas.


Merci à tous pour vos remarques. Si la doc Moodle dit de ne pas passer à utf8mb4 pour le moment alors inutile de précipiter les choses, d'autant que rien ne garantie que les modules externes, eux, seront adaptés.