代码之家  ›  专栏  ›  技术社区  ›  Vivek Nuna Chetan sabhaya

带有实体框架核心的MySQL排序问题

  •  0
  • Vivek Nuna Chetan sabhaya  · 技术社区  · 6 年前

    我的ASP.NET核心Web应用程序正在访问MySQL数据库。我生成迁移和更新数据库,然后看到不同机器上不同的表的排序规则。在我的机器上 Latin1-默认排序规则 在另一台机器上, utf8-默认排序规则 .

    因此,由于这种行为,我在将日语或其他语言作品(如“日语”、“espa”、“ol m”、“xico”或“varchar”(64)列)插入表格时遇到了一个例外。它在另一台机器上工作正常 utf8-默认排序规则 在这张桌子上。

    EF核心版本: 2.0.1

    MySql: 5.7.22**

    这是英孚的核心问题吗?或者,是否有任何解决方法来生成具有正确排序规则或编码的数据库?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mateusz    6 年前

    这不是EF核心问题,如果您的MySQL中配置了默认排序规则,那么它将由MySQL选择。所以排序规则是数据库系统配置的事情。可能需要更改机器上的默认排序规则。

    另一种选择是在迁移中创建table语句后添加:

    Sql('alter table <some_table> convert to character set utf8 collate utf8_unicode_ci');