SPIP ecureuil




Thème de ce forum :

table spip_articles codage



vincent
table spip_articles codage
16 août 2008 15:56

Je souhaite travailler sur la base de données utilisée par SPIP afin d’y intégrer, en masse, des articles détenus dans une autre base de données.

L’opération me semblait a priori simple. Mais je suis surpris par le format de la table :
spip_articles sur MySQL "InnoDB"

Tous les caractères accentués sont modifiés. Par exemple, le mot scène prend la graphie Scène.

Outre le fait que le classement par titre en est affecté (la lettre "e" accentuée venant alors avec le "a"), je me demande quel codage il faut que j’utilise pour intégrer de nouveaux articles...

Je vous remercie par avance pour votre aide.

Vincent

Rechercher dans les forums:
 

fred
16 août 2008 17:37
table spip_articles codage

J’ai eu des problèmes aussi quand j’ai voulu récupérer un dump d’une base mysql au format myisam vers une base au format innodb en passant de mysql 4 à mysql 5. Et puis en recréant la base au format myisam sur mysql5 tout est rentré dans l’ordre... mais ne me demandez pas pourquoi... :)

vincent
16 août 2008 20:52
table spip_articles codage

J’ai transformer la table d’InnoDB en MyISAM sans aucun changement comportementale de SPIP qui puise dans la base de données les caractères codées en les décryptes. En fait, cela semble plutôt dépendre du codage général du site qui est en utf-8.

Un intéressant article connexe : http://www.spip-contrib.net/Creer-un-index-alphabetique-bis#nh1

17 août 2008 17:33
table spip_articles codage

En complément d’info, sachant que ce n’est donc pas la base de données qui détermine l’encodage mais bien les scripts PHP de Spip, la marche à suivre est la suivante : on encode tout ce qui doit sortir en utf8 grâce à utf8_encode() et, si besoin, on decode toutes les données qu’on reçoit en utf8 grâce à utf8_decode().

RSS






squelette