我目前正在构建Spring MVC web应用程序,并且数据库是重要的后端部分。然而,无论出于何种原因,Spring都拒绝将数据作为UTF-8处理。由于视图,资源和浏览器设置为Unicode,数据库中的表也是如此(并且还阅读了很多类似的问题),所以我确定问题在于数据库连接。如何在Spring管理的MySQL JDBC连接上设置useUnicode = true和characterEncoding = utf8属性
JDBC驱动程序应该在ConnectionProperties中,可以设置两个项目:了useUnicode(设置为是和的characterEncoding(设置为UTF8)事实证明,但是,它的不可能
JDBC是一个。豆,并且因此经由XML文件进行配置,如下所示:
这种设置将所有非字母数字字符从数据库中抽取(例如箭头或希腊字母)成为问题 分数。显然,这是不可接受的。
我尝试多种解决方案:指定的JDBC URL作为jdbc:mysql://localhost:3306/?useUnicode=yes&characterEncoding=utf8,与my.ini文件(MySQL工作台)起到强制数据库中的一切都默认为utf8字符集,以及一些引起最大头痛:将。事实证明,在单个bean中设置两个connectionProperties实际上是不可能的,因为......在任何地方都没有分隔字符(bean试图将yes;characterEncoding=utf8设置为useUnicode的值)。所以我的问题是:我如何utf8?
+0
也许你在'characterEncoding = utf8'之后也需要一个分号,就像这里提到的一样:http://stackoverflow.com/questions/13359683/how-to-use-useunicode-yes-characterencoding-utf-8-with- dbcp –
+0
@GriffeyDog我在那里放了一个分号,我没有从代码中复制它。它不会让我在没有一个的情况下进行编译(好吧,但会 - 不久之后我会得到一个例外)。 –