Ndeko Posté 14 Juillet 2004 Posté 14 Juillet 2004 J'ai constaté, dans un tri alphabétique sur des mots allemands, que mysql trie les entrées en plaçant ö après o, ä après a, etc. Exemple (fautif) : modern Motor mögen Au lieu de (exact) : modern mögen Motor Dans le manuel mysql, j'ai lu ceci à ce propos : 4.6.1.1 Jeu de caractères allemand Pour obtenir l'ordre de tri Allemand, vous devez démarrer mysqld avec --default-character-set=latin1_de. Cela vous donnera les caractéristiques différentes. Lors du tri et de la comparaison des chaînes, les remplacements suivants sont faits dans la chaîne avant d'effectuer la comparaison : ä -> ae ö -> oe ü -> ue ß -> ss Je veux bien..., mais qui pourrait m'expliquer comment on "démarre mysqld avec --default-character-set=latin1_de" ? Et est-ce que le choix de ce jeu de caractères peut générer d'autres problèmes pour des mots français, cette fois-ci (je pense aux voyelles accentuées). Merci ! -- Pascal Grouselle http://perso.wanadoo.fr/pascal.grouselle/
Dan Posté 15 Juillet 2004 Posté 15 Juillet 2004 Salut Ndeko, Pour éviter de modifier les paramètres de démarrage de Php, tu as la possibilié d'utiliser la fonction setlocale() dans tes scripts. C'est beaucoup plus simple à mettre en oeuvre. Le code suivant: <?php$loc_de = setlocale (LC_ALL, 'de_DE_AT_euro', 'de_DE', 'de', 'ge'); echo "Le paramètre préféré pour l'allemand sur ce système est: '$loc_de'"; ?> déterminera le paramètre le plus approprié pour ton serveur (et ton install de Php. Par exemple , sur le serveur du Hub, le paramètre préféré est 'de_DE_AT_euro', alors que sur une install locale j'obtiens 'German_Germany.1252' Il te suffira alors d'utiliser setlocale() avec ce paramètre dans tes sources, par exemple: setlocale(LC_ALL, 'de_DE_AT_euro'); Dan PS: remplaces le _AT_ dans le code ci-dessus par le symbole arobase: @ ... j'ai mis un filtre en place pour éviter aux membres de se faire pourrir leur boite email, mais cela empêche l'affichage des @ s'ils semblent appartenir à une adresse email
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant