Ekopedia:Solution:Problème majeur sur la base de donnée SQL francophone

Un article de Ékopédia, l'encyclopédie pratique.
Aller à : Navigation, rechercher

Cette page vise à expliquer comment résoudre notre problème de charset sur la base de donnée francophone Ekopedia (logiciel Mediawiki).

Sommaire

Attention

Notre solution a peut de chance de pouvoir être utilisée tel-quel, mais elle peut insprirer d'autres solutions à des problèmes similaires.

Notre problème

En 2004 ou 2005, j'ai fait un très très mauvais choix durant une mise à jour: $wgDBmysql5 = true; (documenté comme: Experimental charset support for MySQL 4.1/5.0).

Les symptômes

Notre solution

Un sympathisant du projet Ekopedia (Szabolcs Pap) a fait un script pour convertir la base de donnée dans le bon charset.

Voici le script:

#!/bin/sh

TEMP_DIR=/tmp/
DB_NAME=ekopediafr
DB_USER=ekopedia
DB_PASS=XXXXXXXXXXX

echo "start...";
echo "dumping database (fr)\n"
mysqldump $DB_NAME --default-character-set=utf8 -u $DB_USER -p$DB_PASS > $TEMP_DIR/allnew.sql
echo "dump is ready\n";

echo "create first sed to change UTF8\n";
sed -i 's/\/\*\!40101 SET NAMES utf8 \*\/\;/\/\*\!40101 SET NAMES latin1 \*\/\;/g' $TEMP_DIR/allnew.sql

echo "create second sed to change UTF8\n";
sed -i 's/SET character_set_client = utf8;/SET character_set_client = latin1;/g' $TEMP_DIR/allnew.sql

echo "importing into new database\n";
cat $TEMP_DIR/allnew.sql|mysql $DB_NAME --default-character-set=latin1 -u $DB_USER -p$DB_PASS

echo "DONE\n";

Après l'avoir appliqué, je fus en mesure de passer la variable "$wgDBmysql5" à "false" dans LocalSettings.php.

Notre problème est maintenant réglé!

Commentaire

J'espère que cette page pourra aider quelqu'un. --jluc 20 avril 2009 à 21:41 (EDT)


Outils personnels
Espaces de noms
Variantes
Actions
Naviguer
Contribuer
Imprimer / exporter
Boîte à outils