Problème de tri des caractères suédois Å Ä Ö MySQL
Je suis en train de trier une liste avec asc ou desc - selon ce que l'utilisateur de choisir. Dans la liste que j'ai l'caractères suédois Å Ä Ö et c'est là le problème s'affiche. J'ai la liste suivante:
(First list)
Stängd
Stängd
Öppen
Krävs ej
Krävs ej
(Debout; Stängd = Fermé, Öppen = Ouvert, Krävs ej = Non requis)
La liste doit être triée selon ce que l'utilisateur de choisir;
Öppen
Stängd
Stängd
Krävs ej
Krävs ej
ou
Krävs ej
Krävs ej
Stängd
Stängd
Öppen
Mais comme il est maintenant le premier de la liste s'affiche. Le problème est donc le "Ö" -caractère. Ma base de données et le champ de la valeur en ont l'interclassement utf8_general_ci, si ce n'est pas le problème. Et le caractère " ... " est tout à la fois de la base de données (recherche par PHPMyAdmin) et la sortie à droite lors de l'impression.
Mon code ressemble à ceci:
$querystr = "
SELECT wposts.*
FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta
WHERE wposts.ID = wpostmeta.post_id
AND wpostmeta.meta_key = '$sort_by'
AND wposts.post_type = 'sida'
AND wposts.post_status = 'publish'
ORDER BY wpostmeta.meta_value $sort_order";
Comment cela peut-il apparaître et comment je le résoudre?
source d'informationauteur Fredrik | 2011-04-03
Vous devez vous connecter pour publier un commentaire.
Mais il est. 🙂 Les différents classements ont différents ordres de tri, et les différentes façons de comment ils interprètent les trémas.
utf8_general_ci
va trierÖ
avecO
. Essayez leutf8_swedish_ci
à la place. Qui aura le bon ordre de tri, qui (IIRC), c'est queÄAÖ
aller à la fin de l'alphabet.Pour le fond d'info, voir 9.1.7.8. Des exemples de l'Effet de Classement
La classement général lieux
Ö
avecO
. Si vous voulezÖ
à la fin de l'alphabet, alors vous devez utiliserutf8_swedish_ci
.Si vous souhaitez convertir des tables pour un nouveau classement, il suffit d'utiliser la suivante: