J'essaie d'obtenir un tri accentué et insensible à la casse dans MySQL. En suivant les instructions du manuel, ceci est supposé fonctionner avec le jeu de caractères utf8 et le collationnement utf8_general_ci.Tri sélectif sans accent dans MySQL
Quand je suis l'exemple dans le manuel (http://dev.mysql.com/doc/refman/5.1/en/charset-collation-implementations.html) sous la rubrique « Les classements pour caractères multi-octets Unicode jeux » Je ne reçois pas les mêmes résultats:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 679877
Server version: 5.1.41-log MySQL Community Server (GPL) by Remi
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SET NAMES 'utf8' COLLATE 'utf8_general_ci';
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT 'a' = 'A', 'a' = 'À', 'a' = 'á';
+-----------+-----------+-----------+
| 'a' = 'A' | 'a' = 'À' | 'a' = 'á' |
+-----------+-----------+-----------+
| 1 | 0 | 0 |
+-----------+-----------+-----------+
1 row in set (0.00 sec)
mysql>
Dans l'exemple dans le manuel, ceux-ci sont Tout 1.
Il ne parvient pas non plus à traiter les caractères accentués lorsque j'essaie de définir le classement directement dans une requête. Dans cet exemple, la table utilise latin1 et je convertis en utf8.
mysql> select * from test;
+----------+
| k |
+----------+
| Cárdenas |
| Cardozo |
| Corbin |
| Cabrero |
+----------+
mysql> select k from test order by convert(k using utf8) collate utf8_general_ci
;
+----------+
| k |
+----------+
| Cabrero |
| Cardozo |
| Corbin |
| Cárdenas |
+----------+
4 rows in set (0.00 sec)
Il faut ignorer l'accent sur le 'a' dans la dernière entrée et le trier en second. Des idées de ce que je fais mal?
voulez-vous s'il vous plaît ajouter à votre question la sortie de SHOW FULL COLUMNS FROM test, ' –
je reçois tous les 1 pour la sélectionnez, donc il doit y avoir quelque chose de mal avec vos classements dans MySQL. –
La console sur laquelle vous tapez tous ces tests est-elle configurée pour gérer les entrées au clavier en UTF-8? –