Problème d'encodage des caractères dans la base de données

Un article de Typo3 CMS / Documentation Typo3 / Support Typo3.

Aller à : Navigation, Rechercher

Sommaire

[modifier] Introduction

Au cours de nos différentes livraison, nous nous sommes confronté à des problèmes d'encodage dans la base de données, provenant notamment des différences de version de mysql.

Cette documentation peut donc être utile pour toutes les personnes ayant des soucis similaires mais ne garantit pas la résolution systématique des problèmes d'encodage.


[modifier] Export de la base source

L'export de la base de donnée se fait via la commande linux mysqldump :

         mysqldump -u root -p -n --compatible=mysql323 --databases nom_de_la_base > dump.sql

Explication des options cette commande :

-u permet de définir l'utilisateur, ici "root".

-p demande le mot de passe de l'utilisateur.

-n (ou --no-create-db) permet de ne pas exporter l'instruction "create database".

--compatible permet de spécifier vers quelle base on va importer le dump. (ici mysql323 signifie que c'est un dump pour la version 3.23 de mysql, à noter que cette version de mysql de supporte pas l'interclassement et donc risque de créer des erreurs lors de la tentative de création de table via le dump sql). Les bases possibles sont : mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb

--databases permet de spécifier la liste des bases séparées par des virgules que l'on veut exporter.

--add-drop-table

Sur des plateformes mutualisés ou avec des droits restreints le lock peut raler avec --skip-lock-tables ça passe mieux

[modifier] Récupération de l'export sur le serveur cible

Sur le serveur cible maintenant, vous pouvez récupérer votre export sql via la commande wget

         wget url_serveur_source

[modifier] Import du dump sql dans la base cible

Finalement pour l'import du fichier dans la base, on utilise la commande mysql :

         mysql -u root -p base_cible < dump.sql

les options -u et -p sont identiques à celles de la commande mysqldump.

[modifier] Remarques

NB : Il faut faire attention à ne pas essayer d'ouvrir ou modifier les fichiers sous windows pour ne pas risquer de modifier l'encodage de base du fichier.