我将使用此代码创建一个包含utf8_general_ci的数据库
CREATE DATABASE xxx
CHARACTER SET utf8
COLLATE utf8_general_ci;
use xxx;
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME
FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'xxx';
当我得到schema的结果是:
我不明白为什么我可以使用utf8_general.ci。
代码显示框架不支持utf8mb3_general_ci。
接下来我可以尝试什么?
1条答案
按热度按时间lrpiutwd1#
好吧,我得到了解决方案:
正如@P.Salmon所说的utf8是utf8 mb 3的别名,我基于这条评论。我安装了mysql 8.0.31版本。我回到8.0.25版本和之后的版本来转储数据库,因为utf8,并将框架的所有dll设置为8.25终于工作了。
如果你有同样的情况,我会分享这个。我不知道为什么mysql.data.EntityFramework 8.0.31不支持utf8 mb 3。