[gull] Encodage de fichier et de base de données

Claude Paroz claude at 2xlibre.net
Sat Mar 6 20:03:07 CET 2010


Le samedi 06 mars 2010 à 18:00 +0000, Samuel Chenal a écrit :
> Bonjour à tous,
> 
> J'ai un petit soucis d'encodage de fichier texte et de base de données
> MySQL. 
> 
> J'administre actuellement le site http://www.ll-dd.ch/ (partenariat
> entre Swisslinux et le gull). Il est développé en Drupal. 
> 
> La console d'administration me dit de le mettre à jour (je l'ai laissé
> en 6.12 et il me conseille une migration en 6.16). En bon
> informaticien qui n'a encore jamais upgradé un site sous drupal, j'ai
> voulu copier ce site sur mon serveur web de test à la maison (un
> ubuntu server 9.10 fraîchement installé) pour me faire la main avant
> de toucher la "production".
> 
(...)
> 
> Question simple : quelqu'un a-t-il une procédure simple pour faire un
> dump d'une BD mysql et un import sur un autre serveur en conservant le
> bon encodage ?

Hé, hé... un problème assez classique. Plusieurs éléments peuvent poser
problème. Le codage de la base, le codage des données dans la base (ex.
des données UTF-8 stockées dans une base Latin-1, etc.), la conversion
de caractères entre le client et le serveur, etc.

> Pour info, mon dump se trouve ici :
> 
> http://www.ll-dd.ch/files/Affiches/20100228_lldd_2.sql

Le dump a l'air propre et correct. Codage UTF-8 avec des tables UTF-8.
Je pense que le problème provient plutôt de ce que MySQL a une fâcheuse
tendance à utiliser par défaut le codage Latin-1 (ISO 8859-1) lors des
manipulations (notamment l'importation). Ceci peut se régler à divers
niveaux (config MySQL (/etc/my.cnf), option dans la ligne de commande ou
commande SET dans le fichier).

Essaye d'ajouter une ligne: SET NAMES 'utf8'; juste après le SET
SQL_MODE. Cela forcera MySQL à interpréter le contenu de ton fichier
comme du contenu codé en UTF-8.

Claude
-- 
www.2xlibre.net



More information about the gull mailing list