Ekopedia:Fix:Major database issue on French SQL database

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

This page intends to explain how we solve our charset problem on our French Mediawiki database.

Sommaire

Warning

Our solution have little chance to be used as-is, but could be used as inspiration on how to solve other problems.

Our problem

In 2004 or 2005, I made a really bad choice during a Mediawiki upgrade: $wgDBmysql5 = true; (documented as Experimental charset support for MySQL 4.1/5.0).

Our symptoms

Our solution

An Ekopedia supporter (Szabolcs Pap) made a script in order to dump the database and convert it in the right charset.

Here is the 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";

After applying this script, I have been able to switch back "$wgDBmysql5" to "false" in LocalSettings.php.

Our problem is now solved!

Comment

I hope that this could help someone else.


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