Bonjour,
Je dois migrer les données d'une base latin_german_ci vers une base utf8_unicode_ci. Le fichier d'importation créé est en utf-8. L'importation est réalisée avec succès en local.
Donc j'ai l'ancienne base dont les données ont été passées correctement en utf-8 (résultat dans la db et dans un affichage web).
Pour la migration de l'ancienne vers la nouvelle base, Je fais un SELECT sur l'ancienne base, récupérées les données sont traitées par PHP et je réinsère dans la nouvelle base.
Voici la configuration de mon serveur :
Mes pages php sont enregistrées dans le format utf-8, la balise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT _utf8'é', _latin1'é', ORD(_utf8'é'), ORD(_latin1'é') ; Résultats : é é ORD(_utf8'é') ORD(_latin1'é') é é 50089 195 *************************************************** SHOW VARIABLES LIKE '%char%'; résultats: Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir c:\wamp\mysql\share\charsets\
est déclarée et ma première requête spécifie le format des données traitées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <meta http-equiv="content-type" content="text/html; charset=utf-8">
Bref, je crois que tout y est et pourtant...
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_query("SET NAMES 'UTF8'");
Voici ce que me donne une requête d'insertion tel que je l'envoie dans ma nouvelle base :
le 'é' de 'rue du marché' est remplacé par � mais pourtant la localité qui comprend un accent est correcte!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 INSERT INTO aff_adresse (fk_id_iso,rue,num,bte,cp,localite,commune,province,pays,date_creation,date_update) VALUES ( '5', 'rue du march�', '10', '', '7100', '', 'LA LOUVIÈRE', 'Hainaut', 'BE', '0000-00-00 00:00:00', '2007-11-13 10:27:03' )
Je ne vois pas d'où cela peut venir... Qqun pour une idée?
Deuxième question : existe t'il une fonction me permettant de connaître le type d'encodage utilisé pour un mot?
Troisième question : quelle différence y a t'il entre utf8_unicode_ci et utf8_general_ci???
Merci déjà à tous ceux qui participeront à ce post!
Partager