Unicode, MySQL et MediaWiki

De Wicri Outils

Cette page est dédiée au problèmes rencontrés par le paramétrage de MySQL lors de la création d'une base MediaWiki.

La principale difficulté est le paramétrage du mode de codification des caractères.

Exemple de problème rencontré

La manipulation de caractères "exotiques" dans les noms de page peut conduire à des erreurs qui se manifestent ainsi :

Une erreur de syntaxe de la requête dans la base de données est survenue. Ceci peut indiquer un bogue dans le logiciel. La dernière requête traitée par la base de données était :
(Requête SQL cachée)
depuis la fonction « SMW::getSMWPageID ». La base de données a renvoyé l’erreur « 1267 : Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' (ticri.inpl-nancy.fr) ».

La cause de l'incident est relativement simple : la base a été créée sans préciser d'options de codage et, MySQL ayant une origine suédoise, le codage implicite est « iso latin1 suédois »

Traitement préventif

Lors de la création d'une base MySQL pour MediaWiki, il est impératif de positionner le paramètre d'interclassement à la valeur :

utf8_general_ci[1]

Traitement curatif

Contacter : Utilisateur:Pol Reitz.

Notes