因此,我使用phpmyadmin导出了整个数据库,并检查导出的sql文件中没有出现“COLLATION”一词(除了一个表中只出现了两次设置为二进制的情况),所以通常这个脚本不会在导入时使用特定的排序规则,而是使用数据库默认值。
删除所有表后,将数据库排序规则更改为utf8_unicode_ci,然后从phpmyadmin运行导入脚本。但结果是,所有表和所有列都再次显示为utf8_general_ci排序规则(并且排序不正确)。为什么?应该怎么做来改变它?
附注:导出/导入脚本在开头包含被注释掉的行:
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
我不知道在导入时是否会有任何影响,但是在打开mysql控制台后,命令show variables like 'collation_connection'
显示COLLATION_CONNECTION为cp852_general_ci。然而,在phpmyadmin→变量中,变量'collation_connection'设置为utf8_general_ci。但是没有办法更改它。
COLLATE utf8_unicode_ci
子句,适用于所有列)。实际上应该有一个每个数据库的设置。 - camcam