En parallèle j'étais entrain de faire un autre test :
J'ai changé tout en binary..
Les champs en cp1256_bin
La table en cp1256
sur MySQL Front, la requette suivante me donne le résultat que je veux :"character_set_client" : "binary"
"character_set_connection" : "binary"
"character_set_database" : "binary"
"character_set_filesystem" : "binary"
"character_set_results" : "binary"
"character_set_server" : "utf8"
"character_set_system" : "utf8"
"collation_connection" : "binary"
"collation_database" : "binary"
Résultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT Champs, ord(Chmaps) , 'ÇáÕæãÇá/ÞÑÕäÉ/ÓíÔíá/ÇáÇãÇÑÇÊ', ord('ÇáÕæãÇá/ÞÑÕäÉ/ÓíÔíá/ÇáÇãÇÑÇÊ') FROM Tbl2 WHERE id=149955
et alors la requette :Chmaps : "ÇáÕæãÇá/ÞÑÕäÉ/ÓíÔíá/ÇáÇãÇÑÇÊ"
Ord(Champs) : 199
Chaine : "ÇáÕæãÇá/ÞÑÕäÉ/ÓíÔíá/ÇáÇãÇÑÇÊ"
Ord(Chaine) : 199
Me donne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT id FROM Tbl2 WHERE Champs LIKE '%ÇáÕæãÇá/ÞÑÕäÉ/ÓíÔíá/ÇáÇãÇÑÇÊ%'
149955
Mais.... en utilisant le même paramétrage sur delphi.. la première requette me donne :
est la deuxième ne donne pas de résultat bien évidemment!Chmaps : ÇáÕæãÇá/ÞÑÕäÉ/ÓíÔíá/ÇáÇãÇÑÇÊ
Ord(Champs) : 199
Chaine : ÇáÕæãÇá/ÞÑÕäÉ/ÓÃ*ÔÃ*á/ÇáÇãÇÑÇÊ
Ord(Chaine) : 195
Deux questions:
1- Quel genre de problème je peux affronter si j'utilise le coade binary. (sachant que pour le moment je n'aurais à effectuer aucun tri alphabetique)
2- Quel pourrait être le problème avec ma connection delphi? est ce que ça peut être lié à MySQL Connector / ODBC 5.1? (je n'arrive pas à executer SET NAMES par exemple à travers le driver MySQL qui gère la connexion)
Je dois signaler qu'appart cette solution "Binary" les autres essais ne fonctionnaient pas que ça soit sur delphi ou sur MySQL front.
Partager