Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

TOnin
2010-08-11 01:13:04

Bonjour,

Je suis en train de migrer depuis une 1.7.0 personnalisée avec notamment une base de données contenant des champs utf8 (cf. la bonne note NB).

Suite à la migration via le plugin AutoUpdate (superbe !) je me suis donc retrouvé avec pas mal de données mal encodées, avec par exemple des affichages du genre : électricité, randonnée, bâtiment, ingrédients, ... etc.

Pour m'en sortir, il a suffit de convertir un certain nombre de colonnes de la base de données. Dans l'extrait de code ci dessous, la liste des requêtes :
- Attention, ne faire qu'une seule exécution
- Par précaution, pour vérifier le résultat de la mise à jour faire d'abord
SELECT `champ`, FORMULE(`champ`) FROM `table` avant un
UPDATE `table` SET `champ` = FORMULE(`champ`)

NB : Utilisant jBrout pour étiqueter mes photos, j'obtenais des jpeg dont les tags IPTC étaient encodées en UTF8. Pour faire fonctionner PhpWebGallery sur ces données j'avais adapté l''affichage et le stockage en utf8.

Code:

UPDATE `pwg_categories` SET `name` = CONVERT( BINARY CONVERT(`name` USING 'latin1') USING 'utf8'), `comment` = CONVERT( BINARY CONVERT( `comment` USING 'latin1' ) USING 'utf8' ) , `dir` = CONVERT( BINARY CONVERT(`dir` USING 'latin1') USING 'utf8')
UPDATE `pwg_comments` SET `author` = CONVERT( BINARY CONVERT( `author` USING 'latin1' ) USING 'utf8' ), `content` = CONVERT( BINARY CONVERT( `content` USING 'latin1' ) USING 'utf8' ) 
UPDATE `pwg_groups` SET `name` = CONVERT( BINARY CONVERT( `name` USING 'latin1' ) USING 'utf8' ) 
UPDATE `pwg_images` SET `file` = CONVERT( BINARY CONVERT(`file` USING 'latin1') USING 'utf8'), `path` = CONVERT( BINARY CONVERT(`path` USING 'latin1') USING 'utf8')
UPDATE `pwg_tags` SET `name` = CONVERT( BINARY CONVERT(`name` USING 'latin1') USING 'utf8')
UPDATE `pwg_users` SET `username` = CONVERT( BINARY CONVERT(`username` USING 'latin1') USING 'utf8')

Ça c'était la migration, l'import de nouvelle images n'a pas été testé.

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact