`
MauerSu
  • 浏览: 513363 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Unknown character set: 'utf8mb4'

 
阅读更多
源:http://blog.csdn.net/xmqywx/article/details/9035485
评:

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
分享到:
评论

相关推荐

    如何更改MySQL数据库的编码为utf8mb4

    ALTER TABLE TABLE_NAME CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 如果有特定列需要更改,可以针对列执行类似的操作。 总的来说,从utf8转换到utf8mb4涉及多个步骤,包括检查环境、修改...

    MySQL读取Binlog日志常见的3种错误

    ### 错误1:`mysqlbinlog: [ERROR] unknown variable ‘default-character-set=utf8mb4’` 当在`my.cnf`配置文件中设置`default-character-set=utf8mb4`后,尝试使用`mysqlbinlog`工具查看binlog时,会遇到此错误。...

    sql导入数据库时出现ERROR at line 206: Unknown command '\''的解决方法

    解决该错误的方法是添加 --default-character-set=utf8 选项到 mysql 命令中。这将告诉 mysql 命令使用 utf8 字符集来导入数据库文件。具体的命令如下: mysql -u root -p123456 --default-character-set=utf8 db1...

    MySQL命令行界面中出现字符错误提示的原因及解决方法

    ERROR 2019 (HY000): Can’t initialize character set gb2312 搞了好半天,MySQL都重装了两次,号悲剧。。。 之前设置了系统编码全都是UTF-8了的 vi /etc/sysconfig/i18n   LANG=zh_CN.UTF-8 LANGUAGE=zh_...

    mysql使用SQLyog导入csv数据不成功的解决方法

    确保CSV文件的编码与数据库表的字符集匹配,如GBK、UTF-8等。 综上所述,当使用SQLyog导入CSV数据失败时,可以通过检查文件格式、使用命令行导入、处理特殊字符、确认字段对应关系、解决权限问题以及调整文件路径和...

    MySQL skip-character-set-client-handshake导致的一个字符集问题

    代码如下:character-set-server = utf8 之后, 代码如下:character_set_client、 character_set_connection、character_set_results 就始终都是和服务器端保持一致了,即便在mysql客户端加上选项 代码如下:–...

    解析mysql 5.5字符集问题

    因此,修改`my.cnf`配置文件,将`default-character-set=utf8`改为`character-set-server=utf8`,保存并重启MySQL服务。例如: ```bash [mysqld] ... character-set-server=utf8 ``` 然后,使用`service mysql ...

    mysql通过my.cnf修改默认字符集为utf-8的方法和注意事项

    default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8' character-set-server=utf8 collation-...

    Python MySQLdb 使用utf-8 编码插入中文数据问题

    CREATE DATABASE web CHARACTER SET utf8; ``` 创建表时,也要指定字符集为UTF-8,如: ```sql CREATE TABLE stocklist ( stockno VARCHAR(10) CHARACTER SET utf8, stockname VARCHAR(50) CHARACTER SET utf8 )...

    php和mysql中uft-8中文编码乱码的几种解决办法

    CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE TABLE `test` ( `id` INT NOT NULL, `name` VARCHAR(10) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, ...

    mysql迁移至8.0时的注意事项(小结)

    default_character_set=utf8mb4 [mysql] default_character_set=utf8mb4 [mysqld] character_set_server=utf8mb4 collation_server=utf8mb4_general_ci ``` 5. **远程访问配置**: 如果你需要允许远程...

    mysql数据库mysql: [ERROR] unknown option –skip-grant-tables

    mysql数据库报ERROR 1045 (28000): Access denied for user ‘ODBC’@’localhost’ (using password: NO) 看到网上说要配置my.ini ...default-character-set=utf8   [mysqld]   #设置3306端口   port = 3

    MySQL常用命令.doc

    `例如`create database mydb character set utf8;`创建一个使用UTF8编码的数据库。 11. **修改数据库字符集**: `alter database 数据库名称 character set 字符集名称;`用于更改已存在数据库的字符集。 12. **...

    MySQL 线上运维常见错误、疑难问题录

    2. **编码不一致**:考虑是否本地和服务器端的数据库编码设置不一致(均为UTF8)。 3. **版本不匹配**:猜测可能是由于版本差异导致的问题,即较高版本的数据无法在较低版本的数据库中导入(本地版本5.1.4,服务器...

    安装mysql5.7步骤1

    default-character-set=utf8 [mysqld] # 设置 3306 端口 port = 3306 # 设置 MySQL 的安装目录 basedir= E:\mysql # 设置 MySQL 数据库的数据存放目录 datadir=E:\mysql\data # 允许最大连接数 max_...

    SQL中的ALTER TABLE语句详解.pdf

    - 示例:`ALTER TABLE users CONVERT TO CHARACTER SET utf8mb4;` 9. **分区操作** - `ADD PARTITION (partition_definition)`: 添加分区。 - 示例:`ALTER TABLE sales ADD PARTITION (PARTITION p2 VALUES ...

    完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题

    标题中的“完美转换MySQL的字符集 解决查看utf8源文件中的乱码问题”涉及到的是在MySQL数据库中处理字符编码转换的问题,特别是针对从不同字符集(如GBK或Latin1)转换到UTF8的情况,以解决乱码问题。描述中提到的...

    Ubuntu下启动、停止、重启MySQL,查看错误日志命令大全

    如果出现“unknown variable 'default-character-set=utf8'”的错误提示,说明配置格式有误。此时应将配置改为: ``` character_set_server=utf8 ``` 保存并退出编辑器,然后重启MySQL服务以应用更改。 在进行...

Global site tag (gtag.js) - Google Analytics