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 :
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\
Mes pages php sont enregistrées dans le format utf-8, la balise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<meta http-equiv="content-type" content="text/html; charset=utf-8">
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
mysql_query("SET NAMES 'UTF8'");
Bref, je crois que tout y est et pourtant...

Voici ce que me donne une requête d'insertion tel que je l'envoie dans ma nouvelle base :
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' )
le 'é' de 'rue du marché' est remplacé par � mais pourtant la localité qui comprend un accent est correcte!

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!