MySQL使用utf8_general_ci对Ä和Ö进行排序

时间:2015-07-24 16:28:29

标签: mysql pdo utf-8 collation

有没有办法在不改变连接校对的情况下正确排序字符Ä和Ö?我正在使用PHP和PDO。

如果它不合理......我试图将每个表转换为utf8_swedish_ci使用 ALTER TABLE tablename COLLATE utf8_swedish_ci;但似乎无效。在A.之前还有Ä。出了什么问题?

编辑:我手动将每个字段设置为utf8_swedish_ci,现在它正在运行,但有没有更简单的方法呢?

1 个答案:

答案 0 :(得分:0)

以该表为例:

CREATE TABLE `countries` (
    `countryid` INT(4) UNSIGNED NOT NULL AUTO_INCREMENT,
    `country` VARCHAR(44) NOT NULL,
    PRIMARY KEY (`countryid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

要使“国家/地区”列正确排序,请使用以下查询:

ALTER TABLE `countries`
    CHANGE COLUMN `country` `country` VARCHAR(44) NOT NULL COLLATE 'utf8_swedish_ci' AFTER `countryid`;

如前所述,您需要在要排序的列上进行排序。