[1.9.2b] Importation de donn?es et jeu de caract?res -- phpMyAdmin MySQL notepad

Bonjour,

Je dois créer plusieurs centaines d'articles décrivant les cours d'une
université à partir d'une brochure. Plutôt que de tout saisir à la main, je
pense utiliser une importation vers la base de données SPIP via phpMyAdmin.
Depuis hier, je réalise des tests pour y parvenir. Je rencontre, comme
beaucoup, un problème de jeu de caractères.

Soit les éléments suivants de mon problème :
- les informations du fichier Word du guide des études ont été "passées"
dans un fichier Excel puis sous Access (pour pouvoir gérer les liens avec
les rubriques et secteurs) ;
- une requête Access génère le code pour créer les articles ;
- le résultat de la requête est copié-collé dans le bloc-note ;
- le bloc note est importé via phpMyAdmin dans la table SPIP ;
- mais, au final, il y a un problème d'accents.

Il y a donc, quelque part, une conversion qui ne fonctionne pas ! J'ai donc
cherché les différents éléments à ma disposition pour régler ce problème.
Sans y parvenir pour le moment. Voici les info sur les charset :
- je ne sais pas en quoi "code" Access ;
- je ne sais pas comment se fait le codage de caractères dans le
presse-papier ;
- je colle les informations dans le bloc-note de Windows XP (notepad) ;
- je sauvegarde le fichier .txt en jeu de caractère UTF-8 ;
- j'importe ce fichier avec phpMyAdmin, en précisant UTF-8 (l'importation se
fait sans problème) ;
- je visionne le résultat via phpMyAdmin :
. mes importations figurent sans problème d'accent. Par exemple : Approches
des méthodes
. mais, les entrées précédentes réalisées avec "SPIP/espace privée"
apparaissent d'une autre façon. Par exemple : Etudiants en mobilité
internationale
- les propriétés de la table spip_rubrique : interclassement
latin1_swedish_ci ;
- dans l'espace privée de SPIP, les caractères n'apparaissent pas
correctement ;
- le site SPIP est réglé sur UTF-8 (je l'ai vérifié dans l'espace langue de
la configuration et dans la table meta, le charset est bien sur UTF-8).

Je me doute bien qu'il y a une sorte de "conflit" entre les différents jeux
de caractères de la table d'une part et de SPIP d'autre part. J'essaie
d'ailleurs d'importer le fichier texte UTF-8 avec un réglage iso-8859 dans
phpMyAdmin, ce qui règle partiellement le problème mais crée une erreur lors
de l'importation. Surtout, j'aimerai trouver une solution "propre".

Quelques a-t-il une idée sur tout cela ?

D'avance...

GS.

ps. J'oubliais : avant de poster, j'ai pas mal regardé les anciens post et
autres "contributions" sur le net. Mais ces histoires de charset restent
compliquées.

Petit Erratum :

À la place de
- dans l'espace privée de SPIP, les caractères n'apparaissent pas
correctement ;

Lire
- dans l'espace privée de SPIP, les caractères des données importées
n'apparaissent pas correctement ;

"Georges Saunier" <saunier@paris7.jussieu.fr> a écrit dans le message de
news: fbodv5$q3l$1@sea.gmane.org...

Bonjour,

Je dois créer plusieurs centaines d'articles décrivant les cours d'une
université à partir d'une brochure. Plutôt que de tout saisir à la main,
je pense utiliser une importation vers la base de données SPIP via
phpMyAdmin. Depuis hier, je réalise des tests pour y parvenir. Je
rencontre, comme beaucoup, un problème de jeu de caractères.

Soit les éléments suivants de mon problème :
- les informations du fichier Word du guide des études ont été "passées"
dans un fichier Excel puis sous Access (pour pouvoir gérer les liens avec
les rubriques et secteurs) ;
- une requête Access génère le code pour créer les articles ;
- le résultat de la requête est copié-collé dans le bloc-note ;
- le bloc note est importé via phpMyAdmin dans la table SPIP ;
- mais, au final, il y a un problème d'accents.

Il y a donc, quelque part, une conversion qui ne fonctionne pas ! J'ai
donc cherché les différents éléments à ma disposition pour régler ce
problème. Sans y parvenir pour le moment. Voici les info sur les charset :
- je ne sais pas en quoi "code" Access ;
- je ne sais pas comment se fait le codage de caractères dans le
presse-papier ;
- je colle les informations dans le bloc-note de Windows XP (notepad) ;
- je sauvegarde le fichier .txt en jeu de caractère UTF-8 ;
- j'importe ce fichier avec phpMyAdmin, en précisant UTF-8 (l'importation
se fait sans problème) ;
- je visionne le résultat via phpMyAdmin :
. mes importations figurent sans problème d'accent. Par exemple :
Approches des méthodes
. mais, les entrées précédentes réalisées avec "SPIP/espace privée"
apparaissent d'une autre façon. Par exemple : Etudiants en mobilité
internationale
- les propriétés de la table spip_rubrique : interclassement
latin1_swedish_ci ;
- dans l'espace privée de SPIP, les caractères n'apparaissent pas
correctement ;
- le site SPIP est réglé sur UTF-8 (je l'ai vérifié dans l'espace langue
de la configuration et dans la table meta, le charset est bien sur UTF-8).

Je me doute bien qu'il y a une sorte de "conflit" entre les différents
jeux de caractères de la table d'une part et de SPIP d'autre part.
J'essaie d'ailleurs d'importer le fichier texte UTF-8 avec un réglage
iso-8859 dans phpMyAdmin, ce qui règle partiellement le problème mais crée
une erreur lors de l'importation. Surtout, j'aimerai trouver une solution
"propre".

Quelques a-t-il une idée sur tout cela ?

D'avance...

GS.

ps. J'oubliais : avant de poster, j'ai pas mal regardé les anciens post et
autres "contributions" sur le net. Mais ces histoires de charset restent
compliquées.

--------------------------------------------------------------------------------

Georges Saunier a écrit :

Petit Erratum :

Juste au passage, avec PHPmyADMIN, quel est le charset de la base de
donnée? (ce que pense MySQL, pas l'info donnée par Spip).

Je ne retrouve plus le message qui en parlait, mais sous Spip, si la
base n'est pas en UTF-8, tu peux lancer le script:

ecrire/?exec=convert_sql_utf8

Bon courage
Grégoire

Merci pour ton message Grégoire.

Dans phpMyAdmin, depuis la page d'accueil, lorsque je clique sur l'onglet
Bases de données, la base de données s'affiche avec, en regard,
l'interclassement fixé à latin1_german1_ci.

Bref, elle n'est pas en UTF-8.

Question : que se passe-t-il au moment de la convertion que tu indiques ?
Car je "stocke" déjà de l'UTF-8 dans les tables (mais déclaré en latin).

...

"Grégoire" <gobmouch@online.fr> a écrit dans le message de news:
fbou7i$inf$1@sea.gmane.org...
Georges Saunier a écrit :

Petit Erratum :

Juste au passage, avec PHPmyADMIN, quel est le charset de la base de
donnée? (ce que pense MySQL, pas l'info donnée par Spip).

Je ne retrouve plus le message qui en parlait, mais sous Spip, si la
base n'est pas en UTF-8, tu peux lancer le script:

ecrire/?exec=convert_sql_utf8

Bon courage
Grégoire