我正在转换一个现有的表格,如下所示:
CREATE TABLE `example`(`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`column1` char(32) COLLATE latin1_general_ci NOT NULL
DEFAULT '',
`column2` char(64) COLLATE latin1_general_ci NOT NULL
DEFAULT '',
PRIMARY KEY (`id`))
ENGINE=MyISAM AUTO_INCREMENT=1
DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
使用以下命令转换为 utf8:
ALTER TABLE example CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
这似乎工作正常,但结果表不包含任何排序规则信息:
CREATE TABLE `example` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`column1` char(32) NOT NULL DEFAULT '',
`column2` char(64) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
所以我的问题是,丢失的整理信息会成为问题吗?我搜索了谷歌,但在任何地方都找不到这一点。我对整理标志的理解非常基本(我认为在比较字符串函数中的字符时它在某种程度上很重要?)
谢谢
最佳答案
default collation因为 utf8
字符集是 utf8_general_ci
,所以它没有显示它。
关于mysql - 将 MySQL 表从 Latin1 转换为 UTF8 时整理丢失的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732999/