Unknown character set: 'utf8mb4'

Unknown character set: 'utf8mb4'

从昨天晚上开始,困扰了我几个小时的问题,无论用c3p0还是用Spring的DriverManagerDataSource都无法连接我服务器上的远程数据库,一直报的错误就是:

 

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'

at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:80)

at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:456)

at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:464)

at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:472)

at org.springframework.jdbc.core.JdbcTemplate.queryForObject(JdbcTemplate.java:477)

at org.springframework.jdbc.core.JdbcTemplate.queryForInt(JdbcTemplate.java:486)

..........................

我的配置里写得很明白:jdbc:mysql://xx.xx.xx.xx:3306/flash_fee?useUnicode=true&characterEncoding=utf8

就是使用utf8字符集进行连接,不知道为什么在连接的时候非要在后面加上mb4,也不知道这东西是啥。

 

这个问题今天上午终于解决,是由于Mysql驱动版本引起的:

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.18</version>

</dependency>

改为:

<dependency>

    <groupId>mysql</groupId>

    <artifactId>mysql-connector-java</artifactId>

    <version>5.1.6</version>

</dependency>

不清楚这个Mysql的驱动为什么版本太新了还不可以。去查看了一下服务器的Mysql版本:

Server version: 6.0.11-alpha-log Source distribution

不知道我们的服务器维护人员怎么想的,竟然装了这么奇葩的一个Mysql版本,还是个alpha的。。。真是蛋疼了!

看来度娘还是不行啊,要找技术东西还是得谷谷哥啊!

参考文章:http://kenai.com/jira/browse/ACTIVERECORD_JDBC-160

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值