MySQL用utf8_general_ci对Ä和Ö进行排序

问题描述 投票:0回答:1

是否可以在不更改连接排序规则的情况下正确地对字符Ä和Ö进行排序?我正在使用PHP和PDO。

如果不明智,我尝试使用以下方法将每个表转换为utf8_swedish_ci:ALTER TABLE tablename COLLATE utf8_swedish_ci;,但似乎不起作用。 A之前还有Ä。怎么了?

编辑:我将每个字段手动设置为utf8_swedish_ci,现在可以使用,但是有没有更简单的方法呢?

mysql utf-8 collation
1个回答
0
投票
将每个表转换为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`;

正如您提到的,您需要在要排序的列上排序。

© www.soinside.com 2019 - 2024. All rights reserved.