我正在尝试根据用户选择对列表进行升序或降序排序。在列表中,我有瑞典字符Å Ä Ö,这是问题出现的地方。我有以下列表:
(First list)
Stängd
Stängd
Öppen
Krävs ej
Krävs ej
(代表:Stängd = 关闭,Öppen = 开启,Krävs ej = 不需要)
该列表应根据用户选择进行排序;
Öppen
Stängd
Stängd
Krävs ej
Krävs ej
或者Krävs ej
Krävs ej
Stängd
Stängd
Öppen
但目前第一个列表显示出来了。问题在于 "Ö" 这个字符。我的数据库和字段都使用 utf8_general_ci 校对规则,所以这不是问题。而且 "Ö" 这个字符在数据库中是正确的(通过 PHPMyAdmin 查看),并且在打印输出时也是正确的。
我的代码如下:
$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";
这是为什么?如何解决?