我想配置使用MYSQL运行的Grails应用程序,将数据库及其表设置为utf-8
。我怎样才能做到这一点?
这是我的DataSource.groovy
:
environments {
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
driverClassName = 'com.mysql.jdbc.Driver'
username = 'login'
password = 'password'
url = "jdbc:mysql://127.0.0.1:3306/database?autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8"
dialect = org.hibernate.dialect.MySQL5InnoDBDialect
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000"
}
}
production {
dataSource {
dbCreate = "update"
driverClassName = 'com.mysql.jdbc.Driver'
username = 'login'
password = 'password'
url = 'jdbc:mysql://localhost:3306/database?autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8'
dialect = org.hibernate.dialect.MySQL5InnoDBDialect
properties {
validationQuery="select 1"
testWhileIdle=true
timeBetweenEvictionRunsMillis=900000
}
}
}
}
但是grails始终使用latin1
如何使Grails应用程序创建utf-8
编码数据库和表?
答案 0 :(得分:7)
试试这个
url="jdbc:mysql://127.0.0.1:3306/database?useUnicode=true&characterEncoding=UTF-8"
如果仍然出现错误,请将数据库创建为
CREATE DATABASE database CHARACTER SET utf8 COLLATE utf8_general_ci;