Document : jeux de caractères et interclassements dans MySQL
19/04/2006 13:03:56
Suite au manque de documentation et d’information disponibles sur ces fonctionnalités MySQL, j’ai publié un tutorial expliquant comment utiliser les jeux de caractères et interclassements dans MySQL, tant au niveau du stockage que de la connexion.
MySQL : comprendre les jeux de caractères et interclassements
NOTE : tout lien avec une affaire récente est purement fortuit.
Guardian a répondu le 19/04/2006 à 16:11 #
Bon document, d’excellente qualité. Comme d’habitude !
Merci
Moi a répondu le 25/04/2006 à 19:10 #
HS : le flux RSS est out lui aussi (erreurs php/spamplemousse)
www.e-t172.net/rss.php
PS : le flux atom v0.3 est obsolète
feedvalidator.org/news/ar…
e-t172 a répondu le 27/04/2006 à 09:29 #
Corrigé.
Gaëtan a répondu le 12/06/2006 à 10:48 #
C’est surtout une question…
au sujet des recherches sur les lettres accentuées
J’ai épluché en détail ce magnifique tutorial sur l’interclassement… immense merci à l’auteur de ce tuto car il n’y a pas grand chose de clair sur le web sur ce sujet, donc .
Il me reste toutefois une question, sans doute bête, mais que je ne trouve nulle part comment résoudre.
Mon hébergeur est allemand, sous Linux, et on travaille avec MySQL.
Je stocke les données en Latin1_General_CI, et les éèêî et autres accents sont stockés en clair dans la table (pas encodés en html).
Si je lance une requête du style SELECT * FROM people WHERE nom like ‘%thérèse%’
il me renvoie bien Thérèse ou thérèse (donc recherche insensible à la Casse)
mais avec cette requête : SELECT * FROM people WHERE nom like ‘%therese%’
il ne trouve rien. Il est donc sensible aux accents, ce qui n’est pas le comportement désiré.
1) Y a-t-il un moyen simple de modifier ce comportement,
- soit en insérant quelque chose dans les requêtes,
- soit en modifiant un paramètre dans les tables ?
2) Comment se fait-il que chez les hébergeurs français, les recherches soient insensibles à la casse ET aux accents ?
Comme c’est un hébergement dédié, mais que l’administrateur est allemand, il ne sait pas comment faire.
Savez-vous s’il s’agit-il d’un paramètre du serveur ou d’un paramètre d’installation qu’il faudrait modifier ?
Merci si quelqu’un peut m’aider, ça fait 3 jours pleins qu’on planche là dessus sans succès…
Gaëtan.
e-t172 a répondu le 12/06/2006 à 12:19 #
Tu devrais vérifier si MySQL voit bien les accents "tels qu’il sont".
C’est assez simple de le vérifier : uploade la dernière version de phpMyAdmin sur ton hébergement web (n’utilise pas celui de ton hébergeur), configure le et affiche le contenu de tes tables avec. Cela permet de s’assurer de l’intégrité du stockage des données en utilisant une application "sûre".
Cela te permettra de voir le contenu de tes tables "tel que MySQL les voit" et donc de cerner un peu mieux ton problème. Si tu veux plus d’aide, poste les résultats de cette investigation.