使用Grails在数据库中保存特殊字符

时间:2012-07-26 15:06:17

标签: grails datasource special-characters hsqldb

new Trainingcamp(name:"Höhentraining", region:"Alpen").save()
tr1 = Trainingcamp.findByName("Höhentraining")
tr2 = Trainingcamp.findByRegion("Alpen")
println("Tr1: " + tr1?.name)
println("Tr2: " + tr2?.name)

控制台上的输出是:

Tr1: 
Tr2: H?hentraining

所以在我看来,通过保存domainobject会发生一些问题,用一个问号“?”替换特殊字符“ö”。我该如何摆脱这个问题? 先谢谢!

使用Grails 1.3.7

__ EDIT1: 我用prod run-app启动了应用程序,然后检查了pordDb.log。我找到了以下插页:

INSERT INTO TRAININGCAMP VALUES('H\ufffdhentraining','Alpen')

无论我写一个“ö”或“ü或”ä“它总是用”\ ufffd“代替它 那么,有什么建议可以解决这个问题吗?

__ EDIT2: 新见解:只有在BootStrap.groovy中保存域时才会出现问题。通过将域保存在控制器中,控制台上的输出符合预期:

Tr2: Höhentraining

0 个答案:

没有答案