是否可以在不更改连接排序规则的情况下正确地对字符Ä和Ö进行排序?我正在使用PHP和PDO。
如果不明智,我尝试使用以下方法将每个表转换为utf8_swedish_ci:ALTER TABLE tablename COLLATE utf8_swedish_ci;
,但似乎不起作用。 A之前还有Ä。怎么了?
编辑:我将每个字段手动设置为utf8_swedish_ci
,现在可以使用,但是有没有更简单的方法呢?
以此表为例:
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`;
正如您提到的,您需要在要排序的列上排序。