Java 连接mysql 出现错误

java 连mysql出现 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4' 错误,求大神指教如何解决?

你的sql中编码有问题,检查下你的程序

看看是不是这个问题

把dialect由 org.hibernate.dialect.MySQLDialect 改成 org.hibernate.dialect.MySQL5InnoDBDialect 就ok

MySQL SyntaxError Exception:Unknown character set:'utf8mb4'的问题

今天拿别人的项目部署调试,出现如下问题
www.2cto.com

Java代码

org.hibernate.exception.SQLGrammarException: Cannot open connection

...

root cause

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown character set: 'utf8mb4'

google吧,有说创建数据库就要指定字符集的

Java代码

CREATE DATABASE test1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

也有说hibernate加编码的
Java代码

jdbc:mysql://localhost:3306/ssh_test

或者

UTF8

也有说mysql6 要新的mysql-connector-j-5.1.13版本才行的, 这都用到5.1.22都不行

最后把dialect由 org.hibernate.dialect.MySQLDialect 改成 org.hibernate.dialect.MySQL5InnoDBDialect 就ok

我以前发生的例子:是由于Mysql驱动版本引起的:

mysql
mysql-connector-java
5.1.18

改为:

mysql
mysql-connector-java
5.1.6

不清楚这个Mysql的驱动为什么版本太新了还不可以。去查看了一下服务器的Mysql版本。不知对你是否有帮助?

指定数据库连接url时带上编码:jdbc.url=jdbc:mysql://xx.xx.xx.xx:3306/inv?useUnicode=true&characterEncoding=utf-8;

如果管用,给分,最近很穷;

数据库的编码有问题吧

mysql版本问题,utf8mb4应该要求mysql的版本要在5.5之上吧