gpt4 book ai didi

mysql - 尽管数据库排序规则是utf8_general_ci,但是grails表排序规则latin_swedish_ci

转载 作者:行者123 更新时间:2023-12-02 14:41:39 24 4
gpt4 key购买 nike

我使用默认排序规则utf8_general_ci为grails项目创建了一个数据库,但现在我发现grails使用latin_swedish_ci创建了所有表。

为什么会这样,我如何强制grails使用utf8?

在其他主题中,我发现需要在db连接字符串上添加一些参数,但是我已经做到了。这是我的数据源:

dataSource {
dialect = "org.hibernate.dialect.MySQL5InnoDBDialect"
driverClassName = "com.mysql.jdbc.Driver"
username = "root"
password = ""
url = "jdbc:mysql://localhost:3306/xxx?autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8"
}

最佳答案

我的数据源看起来完全一样,并且我的表的排序规则设置为'utf8_general_ci'。我的印象是,这需要在数据库服务器本身中进行配置,无论是常规配置还是按数据库配置。

该形式将涉及以下内容添加到您的my.cnf文件中:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

有关更多信息,请参见 https://dev.mysql.com/doc/refman/5.6/en/charset-applications.html

我通常会做后一种。我使用以下语法创建数据库:
DROP DATABASE IF EXISTS $DB_NAME;
CREATE DATABASE $DB_NAME DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

关于mysql - 尽管数据库排序规则是utf8_general_ci,但是grails表排序规则latin_swedish_ci,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31518424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com